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