LeviLamina
Loading...
Searching...
No Matches
SweetBerryBushBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/optional_ref.h"
7#include "mc/world/item/FertilizerType.h"
8#include "mc/world/level/block/FoliageBlock.h"
9
10// auto generated forward declare list
11// clang-format off
12class AABB;
13class Actor;
14class Block;
15class BlockActor;
16class BlockPos;
17class BlockSource;
18class Experiments;
21class ItemInstance;
22namespace BlockEvents { class BlockPlayerInteractEvent; }
23namespace BlockEvents { class BlockRandomTickEvent; }
24// clang-format on
25
27public:
28 // SweetBerryBushBlock inner types define
29 enum class BerryStage : int {
30 Sapling = 0,
31 NoBerries = 1,
32 SomeBerries = 2,
33 FullBerries = 3,
34 };
35
36public:
37 // prevent constructor by default
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 // vIndex: 78
44 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
45
46 // vIndex: 138
47 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
48
49 // vIndex: 146
50 virtual void entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const /*override*/;
51
52 // vIndex: 136
53 virtual bool isInteractiveBlock() const /*override*/;
54
55 // vIndex: 117
56 virtual int getVariant(::Block const& block) const /*override*/;
57
58 // vIndex: 5
59 virtual ::AABB getCollisionShape(
60 ::Block const&,
62 ::BlockPos const&,
64 ) const /*override*/;
65
66 // vIndex: 11
67 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
68
69 // vIndex: 89
70 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
71
72 // vIndex: 56
73 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
74 /*override*/;
75
76 // vIndex: 127
77 virtual bool dealsContactDamage(::Actor const& actor, ::Block const& block, bool isPathFinding) const /*override*/;
78
79 // vIndex: 99
80 virtual void executeEvent(
81 ::BlockSource& region,
82 ::BlockPos const& pos,
83 ::Block const& block,
84 ::std::string const& eventName,
85 ::Actor& sourceEntity
86 ) const /*override*/;
87
88 // vIndex: 3
89 virtual bool
90 hasTag(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::std::string const& tagName) const
91 /*override*/;
92
93 // vIndex: 80
94 virtual bool mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
95
96 // vIndex: 73
97 virtual bool
98 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
99 /*override*/;
100
101 // vIndex: 75
102 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
103 /*override*/;
104
105 // vIndex: 130
106 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
107
108 // vIndex: 0
109 virtual ~SweetBerryBushBlock() /*override*/ = default;
110 // NOLINTEND
111
112public:
113 // member functions
114 // NOLINTBEGIN
115 MCAPI SweetBerryBushBlock(::std::string const& nameId, int id);
116
117 MCAPI void randomTick(::BlockEvents::BlockRandomTickEvent& eventData) const;
118
119 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
120 // NOLINTEND
121
122public:
123 // static functions
124 // NOLINTBEGIN
125 MCAPI static bool
126 _growBush(::BlockSource& region, ::BlockPos const& pos, bool forceFullGrowth, ::Actor* sourceEntity);
127
128 MCAPI static bool
129 _pickBerries(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::Actor& sourceEntity);
130 // NOLINTEND
131
132public:
133 // constructor thunks
134 // NOLINTBEGIN
135 MCAPI void* $ctor(::std::string const& nameId, int id);
136 // NOLINTEND
137
138public:
139 // virtual function thunks
140 // NOLINTBEGIN
141 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
142
143 MCFOLD bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
144
145 MCAPI void $entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
146
147 MCFOLD bool $isInteractiveBlock() const;
148
149 MCAPI int $getVariant(::Block const& block) const;
150
151 MCFOLD ::AABB $getCollisionShape(
152 ::Block const&,
153 ::IConstBlockSource const&,
154 ::BlockPos const&,
156 ) const;
157
158 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
159
160 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
161
162 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
163
164 MCAPI bool $dealsContactDamage(::Actor const& actor, ::Block const& block, bool isPathFinding) const;
165
166 MCAPI void $executeEvent(
167 ::BlockSource& region,
168 ::BlockPos const& pos,
169 ::Block const& block,
170 ::std::string const& eventName,
171 ::Actor& sourceEntity
172 ) const;
173
174 MCAPI bool
175 $hasTag(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::std::string const& tagName) const;
176
177 MCAPI bool $mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const;
178
179 MCAPI bool
180 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
181
182 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
183
184 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
185 // NOLINTEND
186
187public:
188 // vftables
189 // NOLINTBEGIN
190 MCNAPI static void** $vftable();
191 // NOLINTEND
192};
Definition AABB.h:18
Definition Actor.h:103
Definition BlockActor.h:32
Definition BlockPlayerInteractEvent.h:17
Definition BlockRandomTickEvent.h:16
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition Experiments.h:14
Definition FoliageBlock.h:23
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition ItemInstance.h:16
Definition SweetBerryBushBlock.h:26
static MCAPI void ** $vftable()
Definition optional_ref.h:10
Definition BlockRandomTickEvent.h:13