LeviLamina
Loading...
Searching...
No Matches
CaveVinesBlock.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/BlockLegacy.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;
22class Player;
23class Random;
24namespace BlockEvents { class BlockPlaceEvent; }
25namespace BlockEvents { class BlockQueuedTickEvent; }
26// clang-format on
27
29public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<1, 1, bool const> mHasBerries;
33 // NOLINTEND
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 // vIndex: 118
39 virtual int getVariant(::Block const& block) const /*override*/;
40
41 // vIndex: 137
42 virtual void randomTick(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const /*override*/;
43
44 // vIndex: 139
45 virtual bool use(::Player& player, ::BlockPos const& pos, uchar face) const /*override*/;
46
47 // vIndex: 132
48 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
49
50 // vIndex: 79
51 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
52
53 // vIndex: 142
54 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
55
56 // vIndex: 87
57 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
58 /*override*/;
59
60 // vIndex: 5
61 virtual ::AABB
63 const /*override*/;
64
65 // vIndex: 9
66 virtual ::AABB const&
67 getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const
68 /*override*/;
69
70 // vIndex: 74
71 virtual bool
72 onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const
73 /*override*/;
74
75 // vIndex: 76
76 virtual bool canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const
77 /*override*/;
78
79 // vIndex: 90
80 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
81
82 // vIndex: 100
83 virtual void executeEvent(
84 ::BlockSource& region,
85 ::BlockPos const& pos,
86 ::Block const& block,
87 ::std::string const& eventName,
88 ::Actor& sourceEntity
89 ) const /*override*/;
90
91 // vIndex: 3
92 virtual bool
93 hasTag(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::std::string const& tagName) const
94 /*override*/;
95
96 // vIndex: 131
97 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
98
99 // vIndex: 0
100 virtual ~CaveVinesBlock() /*override*/ = default;
101 // NOLINTEND
102
103public:
104 // member functions
105 // NOLINTBEGIN
106 MCAPI bool _pickBerries(::BlockSource& region, ::BlockPos const& pos, ::Actor& sourceEntity) const;
107
108 MCAPI void _updateBlockBasedOnNeighborBelow(::BlockSource& region, ::BlockPos const& pos) const;
109
110 MCAPI void
111 _updateVineBlockAndBroadcastEvents(::BlockSource& region, ::BlockPos const& pos, ::Block const& vineBlock) const;
112
113 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
114
115 MCFOLD void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
116 // NOLINTEND
117
118public:
119 // static functions
120 // NOLINTBEGIN
121 MCAPI static void
122 tryGrow(::BlockSource& region, ::BlockPos const& pos, float randomNumberForGrowing, float randomNumberForBerries);
123 // NOLINTEND
124
125public:
126 // destructor thunk
127 // NOLINTBEGIN
128
129 // NOLINTEND
130
131public:
132 // virtual function thunks
133 // NOLINTBEGIN
134 MCFOLD int $getVariant(::Block const& block) const;
135
136 MCAPI void $randomTick(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const;
137
138 MCAPI bool $use(::Player& player, ::BlockPos const& pos, uchar face) const;
139
140 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
141
142 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
143
144 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
145
146 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
147
148 MCFOLD ::AABB
150 const;
151
152 MCFOLD ::AABB const&
153 $getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const;
154
155 MCAPI bool
156 $onFertilized(::BlockSource& region, ::BlockPos const& pos, ::Actor* actor, ::FertilizerType fType) const;
157
158 MCFOLD bool $canBeFertilized(::BlockSource& region, ::BlockPos const& pos, ::Block const& aboveBlock) const;
159
160 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
161
162 MCAPI void $executeEvent(
163 ::BlockSource& region,
164 ::BlockPos const& pos,
165 ::Block const& block,
166 ::std::string const& eventName,
167 ::Actor& sourceEntity
168 ) const;
169
170 MCAPI bool
171 $hasTag(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::std::string const& tagName) const;
172
173 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
174 // NOLINTEND
175
176public:
177 // vftables
178 // NOLINTBEGIN
179 MCAPI static void** $vftable();
180 // NOLINTEND
181};
Definition AABB.h:16
Definition Actor.h:104
Definition BlockActor.h:32
Definition BlockPlaceEvent.h:15
Definition BlockQueuedTickEvent.h:15
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition CaveVinesBlock.h:28
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition ItemInstance.h:16
Definition Player.h:119
Definition Random.h:16
Definition optional_ref.h:10