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 // virtual functions
38 // NOLINTBEGIN
39 // vIndex: 78
40 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
41
42 // vIndex: 137
43 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
44
45 // vIndex: 145
46 virtual void entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const /*override*/;
47
48 // vIndex: 135
49 virtual bool isInteractiveBlock() const /*override*/;
50
51 // vIndex: 117
52 virtual int getVariant(::Block const& block) const /*override*/;
53
54 // vIndex: 5
55 virtual ::AABB getCollisionShape(
56 ::Block const&,
58 ::BlockPos const&,
60 ) const /*override*/;
61
62 // vIndex: 11
63 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
64
65 // vIndex: 89
66 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
67
68 // vIndex: 57
69 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
70 /*override*/;
71
72 // vIndex: 127
73 virtual bool dealsContactDamage(::Actor const& actor, ::Block const& block, bool isPathFinding) const /*override*/;
74
75 // vIndex: 99
76 virtual void executeEvent(
77 ::BlockSource& region,
78 ::BlockPos const& pos,
79 ::Block const& block,
80 ::std::string const& eventName,
81 ::Actor& sourceEntity
82 ) const /*override*/;
83
84 // vIndex: 3
85 virtual bool
86 hasTag(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::std::string const& tagName) const
87 /*override*/;
88
89 // vIndex: 80
90 virtual bool mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
91
92 // vIndex: 73
93 virtual bool
94 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
95 /*override*/;
96
97 // vIndex: 75
98 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
99 /*override*/;
100
101 // vIndex: 130
102 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
103
104 // vIndex: 0
105 virtual ~SweetBerryBushBlock() /*override*/ = default;
106 // NOLINTEND
107
108public:
109 // member functions
110 // NOLINTBEGIN
111 MCAPI void randomTick(::BlockEvents::BlockRandomTickEvent& eventData) const;
112
113 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
114 // NOLINTEND
115
116public:
117 // static functions
118 // NOLINTBEGIN
119 MCAPI static bool
120 _growBush(::BlockSource& region, ::BlockPos const& pos, bool forceFullGrowth, ::Actor* sourceEntity);
121
122 MCAPI static bool
123 _pickBerries(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::Actor& sourceEntity);
124 // NOLINTEND
125
126public:
127 // virtual function thunks
128 // NOLINTBEGIN
129 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
130
131 MCFOLD bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
132
133 MCAPI void $entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
134
135 MCFOLD bool $isInteractiveBlock() const;
136
137 MCAPI int $getVariant(::Block const& block) const;
138
139 MCFOLD ::AABB $getCollisionShape(
140 ::Block const&,
141 ::IConstBlockSource const&,
142 ::BlockPos const&,
144 ) const;
145
146 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
147
148 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
149
150 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
151
152 MCAPI bool $dealsContactDamage(::Actor const& actor, ::Block const& block, bool isPathFinding) const;
153
154 MCAPI void $executeEvent(
155 ::BlockSource& region,
156 ::BlockPos const& pos,
157 ::Block const& block,
158 ::std::string const& eventName,
159 ::Actor& sourceEntity
160 ) const;
161
162 MCAPI bool
163 $hasTag(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::std::string const& tagName) const;
164
165 MCAPI bool $mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const;
166
167 MCAPI bool
168 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
169
170 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
171
172 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
173 // NOLINTEND
174
175public:
176 // vftables
177 // NOLINTBEGIN
178 MCNAPI static void** $vftable();
179 // NOLINTEND
180};
Definition AABB.h:18
Definition Actor.h:102
Definition BlockActor.h:32
Definition BlockPlayerInteractEvent.h:17
Definition BlockRandomTickEvent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition Block.h:38
Definition Experiments.h:14
Definition FoliageBlock.h:23
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition ItemInstance.h:15
Definition SweetBerryBushBlock.h:26
static MCAPI void ** $vftable()
Definition optional_ref.h:10
Definition BlockRandomTickEvent.h:13