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: 79
40 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
41
42 // vIndex: 138
43 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
44
45 // vIndex: 146
46 virtual void entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const /*override*/;
47
48 // vIndex: 136
49 virtual bool isInteractiveBlock() const /*override*/;
50
51 // vIndex: 118
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: 90
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: 128
73 virtual bool dealsContactDamage(::Actor const& actor, ::Block const& block, bool isPathFinding) const /*override*/;
74
75 // vIndex: 100
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: 81
90 virtual bool mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
91
92 // vIndex: 74
93 virtual bool
94 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
95 /*override*/;
96
97 // vIndex: 76
98 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
99 /*override*/;
100
101 // vIndex: 131
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 _pickBerries(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::Actor& sourceEntity);
121 // NOLINTEND
122
123public:
124 // virtual function thunks
125 // NOLINTBEGIN
126 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
127
128 MCFOLD bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
129
130 MCAPI void $entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
131
132 MCFOLD bool $isInteractiveBlock() const;
133
134 MCAPI int $getVariant(::Block const& block) const;
135
136 MCFOLD ::AABB $getCollisionShape(
137 ::Block const&,
138 ::IConstBlockSource const&,
139 ::BlockPos const&,
141 ) const;
142
143 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
144
145 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
146
147 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
148
149 MCAPI bool $dealsContactDamage(::Actor const& actor, ::Block const& block, bool isPathFinding) const;
150
151 MCAPI void $executeEvent(
152 ::BlockSource& region,
153 ::BlockPos const& pos,
154 ::Block const& block,
155 ::std::string const& eventName,
156 ::Actor& sourceEntity
157 ) const;
158
159 MCAPI bool
160 $hasTag(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::std::string const& tagName) const;
161
162 MCAPI bool $mayPlaceOn(::BlockSource& region, ::BlockPos const& pos) const;
163
164 MCAPI bool
165 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
166
167 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
168
169 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
170 // NOLINTEND
171
172public:
173 // vftables
174 // NOLINTBEGIN
175 MCNAPI static void** $vftable();
176 // NOLINTEND
177};
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:37
Definition Experiments.h:14
Definition FoliageBlock.h:23
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition ItemInstance.h:15
Definition SweetBerryBushBlock.h:26
static MCAPI void ** $vftable()
Definition optional_ref.h:10
Definition BlockRandomTickEvent.h:13