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/BaseGoal.h"
11#include "mc/world/actor/ai/goal/BaseGoalDefinition.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 EntityContext;
20class Mob;
21class Random;
24namespace JsonUtil { class EmptyClass; }
25// clang-format on
26
27class PlaceBlockGoal : public ::BaseGoal {
28public:
29 // PlaceBlockGoal inner types declare
30 // clang-format off
31 struct Definition;
32 // clang-format on
33
34 // PlaceBlockGoal inner types define
35 struct Definition : public ::BaseGoalDefinition {
36 public:
37 // Definition inner types declare
38 // clang-format off
40 // clang-format on
41
42 // Definition inner types define
44 public:
45 // member variables
46 // NOLINTBEGIN
47 ::ll::TypedStorage<8, 176, ::BlockDescriptor> mBlock;
48 ::ll::TypedStorage<8, 64, ::ActorFilterGroup> mFilter;
49 ::ll::TypedStorage<4, 4, int> mWeight;
50 // NOLINTEND
51 };
52
53 public:
54 // member variables
55 // NOLINTBEGIN
56 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mPlaceableCarriedBlocks;
57 ::ll::TypedStorage<8, 24, ::std::vector<::PlaceBlockGoal::Definition::WeightedBlockDescriptor>>
58 mRandomlyPlaceableBlocks;
59 ::ll::TypedStorage<8, 64, ::ActorFilterGroup> mCanPlace;
60 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnPlace;
61 ::ll::TypedStorage<4, 8, ::IntRange> mXZRange;
62 ::ll::TypedStorage<4, 8, ::IntRange> mYRange;
63 ::ll::TypedStorage<4, 4, float> mChance;
64 ::ll::TypedStorage<1, 1, bool> mAffectedByGriefingRule;
65 // NOLINTEND
66
67 public:
68 // prevent constructor by default
69 Definition(Definition const&);
70 Definition();
71
72 public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI void initialize(::EntityContext& entity, ::PlaceBlockGoal& goal) const;
76
77 MCAPI ::PlaceBlockGoal::Definition& operator=(::PlaceBlockGoal::Definition const&);
78 // NOLINTEND
79
80 public:
81 // static functions
82 // NOLINTBEGIN
83 MCAPI static void buildSchema(
84 ::std::string const& name,
86 root
87 );
88 // NOLINTEND
89
90 public:
91 // static variables
92 // NOLINTBEGIN
93 MCAPI static bool const& DEFAULT_AFFECTED_BY_GRIEFING_RULE();
94
95 MCAPI static float const& DEFAULT_CHANCE();
96 // NOLINTEND
97
98 public:
99 // vftables
100 // NOLINTBEGIN
101 MCNAPI static void** $vftable();
102 // NOLINTEND
103 };
104
105public:
106 // member variables
107 // NOLINTBEGIN
108 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
109 ::ll::TypedStorage<8, 256, ::PlaceBlockGoal::Definition> mDefinition;
110 // NOLINTEND
111
112public:
113 // prevent constructor by default
114 PlaceBlockGoal& operator=(PlaceBlockGoal const&);
115 PlaceBlockGoal(PlaceBlockGoal const&);
116 PlaceBlockGoal();
117
118public:
119 // virtual functions
120 // NOLINTBEGIN
121 virtual bool canUse() /*override*/;
122
123 virtual void tick() /*override*/;
124
125 virtual void appendDebugInfo(::std::string& str) const /*override*/;
126 // NOLINTEND
127
128public:
129 // member functions
130 // NOLINTBEGIN
131 MCAPI explicit PlaceBlockGoal(::Mob& mob);
132
133 MCAPI ::Block const* _tryGetRandomPlaceBlock(::VariantParameterListConst const& params, ::Random& random) const;
134
135 MCAPI void
136 _tryPlaceCarriedBlock(::BlockSource& region, ::BlockPos const& targetPos, ::VariantParameterList const& params);
137 // NOLINTEND
138
139public:
140 // constructor thunks
141 // NOLINTBEGIN
142 MCAPI void* $ctor(::Mob& mob);
143 // NOLINTEND
144
145public:
146 // virtual function thunks
147 // NOLINTBEGIN
148 MCAPI bool $canUse();
149
150 MCAPI void $tick();
151
152 MCAPI void $appendDebugInfo(::std::string& str) const;
153
154
155 // NOLINTEND
156
157public:
158 // vftables
159 // NOLINTBEGIN
160 MCNAPI static void** $vftable();
161 // NOLINTEND
162};
Definition BaseGoalDefinition.h:12
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition EntityContext.h:17
Definition EmptyClass.h:7
Definition JsonSchemaObjectNode.h:8
Definition Mob.h:57
static MCAPI void ** $vftable()
Definition Random.h:10
Definition PlaceBlockGoal.h:35
static MCAPI void ** $vftable()
Definition VariantParameterListConst.h:13
Definition VariantParameterList.h:14