LeviLamina
Loading...
Searching...
No Matches
PlaceBlockGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/IntRange.h"
7#include "mc/util/json_util/JsonSchemaObjectNode.h"
8#include "mc/world/actor/ActorDefinitionTrigger.h"
9#include "mc/world/actor/ActorFilterGroup.h"
10#include "mc/world/actor/ai/goal/BaseGoalDefinition.h"
11#include "mc/world/actor/ai/goal/Goal.h"
12#include "mc/world/level/block/BlockDescriptor.h"
13
14// auto generated forward declare list
15// clang-format off
16class Block;
17class BlockPos;
18class BlockSource;
19class Mob;
20class Random;
23namespace JsonUtil { class EmptyClass; }
24// clang-format on
25
26class PlaceBlockGoal : public ::Goal {
27public:
28 // PlaceBlockGoal inner types declare
29 // clang-format off
30 struct Definition;
31 // clang-format on
32
33 // PlaceBlockGoal inner types define
35 public:
36 // Definition inner types declare
37 // clang-format off
39 // clang-format on
40
41 // Definition inner types define
43 public:
44 // member variables
45 // NOLINTBEGIN
46 ::ll::TypedStorage<8, 184, ::BlockDescriptor> mBlock;
47 ::ll::TypedStorage<8, 64, ::ActorFilterGroup> mFilter;
48 ::ll::TypedStorage<4, 4, int> mWeight;
49 // NOLINTEND
50
51 public:
52 // member functions
53 // NOLINTBEGIN
55 // NOLINTEND
56
57 public:
58 // destructor thunk
59 // NOLINTBEGIN
60 MCAPI void $dtor();
61 // NOLINTEND
62 };
63
64 public:
65 // member variables
66 // NOLINTBEGIN
67 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mPlaceableCarriedBlocks;
68 ::ll::TypedStorage<8, 24, ::std::vector<::PlaceBlockGoal::Definition::WeightedBlockDescriptor>>
69 mRandomlyPlaceableBlocks;
70 ::ll::TypedStorage<8, 64, ::ActorFilterGroup> mCanPlace;
71 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnPlace;
72 ::ll::TypedStorage<4, 8, ::IntRange> mXZRange;
73 ::ll::TypedStorage<4, 8, ::IntRange> mYRange;
74 ::ll::TypedStorage<4, 4, float> mChance;
75 ::ll::TypedStorage<1, 1, bool> mAffectedByGriefingRule;
76 // NOLINTEND
77
78 public:
79 // prevent constructor by default
80 Definition(Definition const&);
81 Definition();
82
83 public:
84 // virtual functions
85 // NOLINTBEGIN
86 // vIndex: 0
87 virtual ~Definition() /*override*/;
88 // NOLINTEND
89
90 public:
91 // member functions
92 // NOLINTBEGIN
93 MCAPI ::PlaceBlockGoal::Definition& operator=(::PlaceBlockGoal::Definition const&);
94 // NOLINTEND
95
96 public:
97 // static functions
98 // NOLINTBEGIN
99 MCAPI static void buildSchema(
100 ::std::string const& name,
102 root
103 );
104 // NOLINTEND
105
106 public:
107 // destructor thunk
108 // NOLINTBEGIN
109 MCAPI void $dtor();
110 // NOLINTEND
111
112 public:
113 // vftables
114 // NOLINTBEGIN
115 MCNAPI static void** $vftable();
116 // NOLINTEND
117 };
118
119public:
120 // member variables
121 // NOLINTBEGIN
122 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
123 ::ll::TypedStorage<8, 256, ::PlaceBlockGoal::Definition> mDefinition;
124 // NOLINTEND
125
126public:
127 // prevent constructor by default
128 PlaceBlockGoal& operator=(PlaceBlockGoal const&);
131
132public:
133 // virtual functions
134 // NOLINTBEGIN
135 // vIndex: 1
136 virtual bool canUse() /*override*/;
137
138 // vIndex: 6
139 virtual void tick() /*override*/;
140
141 // vIndex: 7
142 virtual void appendDebugInfo(::std::string& str) const /*override*/;
143
144 // vIndex: 0
145 virtual ~PlaceBlockGoal() /*override*/ = default;
146 // NOLINTEND
147
148public:
149 // member functions
150 // NOLINTBEGIN
151 MCAPI void _placeBlock(
152 ::BlockSource& region,
153 ::BlockPos const& targetPos,
154 ::VariantParameterList const& params,
155 ::Block const& placementBlock
156 );
157
158 MCAPI ::Block const* _tryGetRandomPlaceBlock(::VariantParameterListConst const& params, ::Random& random) const;
159
160 MCAPI void
161 _tryPlaceCarriedBlock(::BlockSource& region, ::BlockPos const& targetPos, ::VariantParameterList const& params);
162 // NOLINTEND
163
164public:
165 // virtual function thunks
166 // NOLINTBEGIN
167 MCAPI bool $canUse();
168
169 MCAPI void $tick();
170
171 MCAPI void $appendDebugInfo(::std::string& str) const;
172 // NOLINTEND
173
174public:
175 // vftables
176 // NOLINTBEGIN
177 MCNAPI static void** $vftable();
178 // NOLINTEND
179};
Definition BaseGoalDefinition.h:10
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition Block.h:37
Definition Goal.h:14
Definition JsonSchemaObjectNode.h:8
Definition Mob.h:47
Definition PlaceBlockGoal.h:26
static MCAPI void ** $vftable()
Definition Random.h:10
Definition PlaceBlockGoal.h:34
static MCAPI void ** $vftable()
Definition VariantParameterListConst.h:13
Definition VariantParameterList.h:13