LeviLamina
Loading...
Searching...
No Matches
LayEggGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
7#include "mc/world/actor/ActorDefinitionTrigger.h"
8#include "mc/world/actor/ai/goal/BaseMoveToBlockGoal.h"
9#include "mc/world/item/ItemDescriptor.h"
10#include "mc/world/level/material/MaterialType.h"
11
12// auto generated forward declare list
13// clang-format off
14class BlockPos;
15class BlockSource;
16class BlockType;
17class Mob;
18// clang-format on
19
20class LayEggGoal : public ::BaseMoveToBlockGoal {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 24, ::std::vector<::ItemDescriptor> const> mTargetBlocks;
25 ::ll::TypedStorage<8, 24, ::std::vector<::MaterialType> const> mTargetMaterialsAboveBlock;
26 ::ll::TypedStorage<1, 1, bool const> mAllowLayingFromBelow;
27 ::ll::TypedStorage<1, 1, bool const> mUseDefaultAnimation;
28 ::ll::TypedStorage<4, 4, float const> mLaySeconds;
29 ::ll::TypedStorage<8, 16, ::ItemDescriptor const> mEggType;
30 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger const> mOnLay;
31 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent const> mLayEggSound;
32 ::ll::TypedStorage<4, 4, int> mLayEggCounter;
33 // NOLINTEND
34
35public:
36 // prevent constructor by default
37 LayEggGoal();
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual bool findTargetBlock() /*override*/;
43
44 virtual bool canUse() /*override*/;
45
46 virtual bool canContinueToUse() /*override*/;
47
48 virtual void start() /*override*/;
49
50 virtual void tick() /*override*/;
51
52 virtual void appendDebugInfo(::std::string& str) const /*override*/;
53
54 virtual bool isValidTarget(::BlockSource& region, ::BlockPos const& pos) /*override*/;
55
56 virtual void _moveToBlock() /*override*/;
57
58 virtual ~LayEggGoal() /*override*/;
59 // NOLINTEND
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI LayEggGoal(
65 ::Mob& mob,
66 float speedModifier,
67 int searchRange,
68 int searchHeight,
69 float goalRadius,
70 ::std::vector<::ItemDescriptor> const& targetBlocks,
71 ::std::vector<::MaterialType> const& targetMaterialsAboveBlock,
72 bool allowLayingFromBelow,
73 bool useDefaultAnimation,
74 float laySeconds,
75 ::ItemDescriptor const& eggType,
76 ::ActorDefinitionTrigger const& onLay,
77 ::std::string const& layEggSound
78 );
79
80 MCAPI bool _isTargetBlock(::BlockType const& block) const;
81 // NOLINTEND
82
83public:
84 // constructor thunks
85 // NOLINTBEGIN
86 MCAPI void* $ctor(
87 ::Mob& mob,
88 float speedModifier,
89 int searchRange,
90 int searchHeight,
91 float goalRadius,
92 ::std::vector<::ItemDescriptor> const& targetBlocks,
93 ::std::vector<::MaterialType> const& targetMaterialsAboveBlock,
94 bool allowLayingFromBelow,
95 bool useDefaultAnimation,
96 float laySeconds,
97 ::ItemDescriptor const& eggType,
98 ::ActorDefinitionTrigger const& onLay,
99 ::std::string const& layEggSound
100 );
101 // NOLINTEND
102
103public:
104 // destructor thunk
105 // NOLINTBEGIN
106 MCAPI void $dtor();
107 // NOLINTEND
108
109public:
110 // virtual function thunks
111 // NOLINTBEGIN
112 MCAPI bool $findTargetBlock();
113
114 MCAPI bool $canUse();
115
116 MCAPI bool $canContinueToUse();
117
118 MCAPI void $start();
119
120 MCAPI void $tick();
121
122 MCAPI void $appendDebugInfo(::std::string& str) const;
123
124 MCAPI bool $isValidTarget(::BlockSource& region, ::BlockPos const& pos);
125
126 MCAPI void $_moveToBlock();
127
128
129 // NOLINTEND
130
131public:
132 // vftables
133 // NOLINTBEGIN
134 MCNAPI static void** $vftable();
135 // NOLINTEND
136};
Definition ActorDefinitionTrigger.h:9
Definition BaseMoveToBlockGoal.h:8
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition BlockType.h:84
Definition ItemDescriptor.h:23
static MCAPI void ** $vftable()
Definition Mob.h:50