LeviLamina
Loading...
Searching...
No Matches
TopSnowBlock.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/level/block/FallingBlock.h"
8
9// auto generated forward declare list
10// clang-format off
11class AABB;
12class Actor;
13class BaseGameVersion;
14class Block;
15class BlockItem;
16class BlockLegacy;
17class BlockPos;
18class BlockSource;
19class Experiments;
22class Player;
23class Random;
24class Vec3;
26namespace BlockEvents { class BlockPlaceEvent; }
27namespace BlockEvents { class BlockQueuedTickEvent; }
28namespace BlockEvents { class BlockRandomTickEvent; }
29namespace mce { class Color; }
30// clang-format on
31
33public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<1, 1, bool> mUsePartialHeight;
37 ::ll::TypedStorage<1, 1, bool> mAllowFallOnPlace;
38 // NOLINTEND
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 // vIndex: 56
44 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
45 /*override*/;
46
47 // vIndex: 11
48 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
49
50 // vIndex: 5
51 virtual ::AABB getCollisionShape(
52 ::Block const& block,
54 ::BlockPos const& pos,
56 ) const /*override*/;
57
58 // vIndex: 6
59 virtual bool getCollisionShapeForCamera(
60 ::AABB& outAABB,
61 ::Block const& block,
62 ::IConstBlockSource const& region,
63 ::BlockPos const& pos
64 ) const /*override*/;
65
66 // vIndex: 132
67 virtual void onExploded(::BlockSource& region, ::BlockPos const& pos, ::Actor* entitySource) const /*override*/;
68
69 // vIndex: 78
70 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
71
72 // vIndex: 81
73 virtual bool tryToPlace(
74 ::BlockSource& region,
75 ::BlockPos const& pos,
76 ::Block const& block,
77 ::ActorBlockSyncMessage const* syncMsg
78 ) const /*override*/;
79
80 // vIndex: 91
81 virtual ::Block const&
82 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
83 /*override*/;
84
85 // vIndex: 69
86 virtual bool isPreservingMediumWhenPlaced(::BlockLegacy const* medium) const /*override*/;
87
88 // vIndex: 83
89 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
90
91 // vIndex: 86
92 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
93 /*override*/;
94
95 // vIndex: 88
96 virtual ::Block const* playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const
97 /*override*/;
98
99 // vIndex: 147
100 virtual ::mce::Color getDustColor(::Block const&) const /*override*/;
101
102 // vIndex: 148
103 virtual ::std::string getDustParticleName(::Block const&) const /*override*/;
104
105 // vIndex: 101
106 virtual bool shouldStopFalling(::Actor& entity) const /*override*/;
107
108 // vIndex: 97
109 virtual bool
110 canBeBuiltOver(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::BlockItem const& newItem) const
111 /*override*/;
112
113 // vIndex: 96
114 virtual bool canBeBuiltOver(::Block const&, ::BlockSource& region, ::BlockPos const& pos) const /*override*/;
115
116 // vIndex: 103
117 virtual bool canHaveExtraData() const /*override*/;
118
119 // vIndex: 30
120 virtual bool isLavaBlocking() const /*override*/;
121
122 // vIndex: 151
123 virtual bool isFreeToFall(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
124
125 // vIndex: 152
126 virtual void
127 startFalling(::BlockSource& region, ::BlockPos const& pos, ::Block const& oldBlock, bool creative) const
128 /*override*/;
129
130 // vIndex: 130
131 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
132
133 // vIndex: 0
134 virtual ~TopSnowBlock() /*override*/ = default;
135 // NOLINTEND
136
137public:
138 // member functions
139 // NOLINTBEGIN
140 MCAPI bool _canBeBuiltOver(::BlockSource& region, ::BlockPos const& pos, ::BlockItem const* item) const;
141
142 MCAPI bool melt(::BlockSource& region, ::BlockPos const& pos, int meltHeight) const;
143
144 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
145
146 MCAPI void randomTick(::BlockEvents::BlockRandomTickEvent& eventData) const;
147
148 MCAPI void startFallingIfLostSupport(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const;
149
150 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
151 // NOLINTEND
152
153public:
154 // static functions
155 // NOLINTBEGIN
156 MCAPI static ::Block const& buildSnowBlock(::BlockSource& region, ::BlockPos const& pos, int height, bool additive);
157
158 MCAPI static ::Block const&
159 getSnowBlockToBuild(::BlockSource const& region, ::BlockPos const& pos, int height, bool additive);
160 // NOLINTEND
161
162public:
163 // static variables
164 // NOLINTBEGIN
165 MCAPI static int const& MAX_HEIGHT();
166
167 MCAPI static ::BaseGameVersion const& TOP_SNOW_FALL_ON_PLACE();
168
169 MCAPI static ::BaseGameVersion const& TOP_SNOW_JAVA_PARITY_VERSION();
170 // NOLINTEND
171
172public:
173 // virtual function thunks
174 // NOLINTBEGIN
175 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
176
177 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
178
179 MCAPI ::AABB $getCollisionShape(
180 ::Block const& block,
181 ::IConstBlockSource const&,
182 ::BlockPos const& pos,
184 ) const;
185
186 MCAPI bool $getCollisionShapeForCamera(
187 ::AABB& outAABB,
188 ::Block const& block,
189 ::IConstBlockSource const& region,
190 ::BlockPos const& pos
191 ) const;
192
193 MCAPI void $onExploded(::BlockSource& region, ::BlockPos const& pos, ::Actor* entitySource) const;
194
195 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
196
197 MCAPI bool $tryToPlace(
198 ::BlockSource& region,
199 ::BlockPos const& pos,
200 ::Block const& block,
201 ::ActorBlockSyncMessage const* syncMsg
202 ) const;
203
204 MCAPI ::Block const& $getPlacementBlock(
205 ::Actor const& by,
206 ::BlockPos const& pos,
207 uchar face,
208 ::Vec3 const& clickPos,
209 int itemValue
210 ) const;
211
212 MCAPI bool $isPreservingMediumWhenPlaced(::BlockLegacy const* medium) const;
213
214 MCAPI bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
215
216 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
217
218 MCAPI ::Block const* $playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const;
219
220 MCFOLD ::mce::Color $getDustColor(::Block const&) const;
221
222 MCAPI ::std::string $getDustParticleName(::Block const&) const;
223
224 MCAPI bool $shouldStopFalling(::Actor& entity) const;
225
226 MCAPI bool $canBeBuiltOver(
227 ::Block const& block,
228 ::BlockSource& region,
229 ::BlockPos const& pos,
230 ::BlockItem const& newItem
231 ) const;
232
233 MCAPI bool $canBeBuiltOver(::Block const&, ::BlockSource& region, ::BlockPos const& pos) const;
234
235 MCFOLD bool $canHaveExtraData() const;
236
237 MCFOLD bool $isLavaBlocking() const;
238
239 MCAPI bool $isFreeToFall(::BlockSource& region, ::BlockPos const& pos) const;
240
241 MCAPI void
242 $startFalling(::BlockSource& region, ::BlockPos const& pos, ::Block const& oldBlock, bool creative) const;
243
244 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
245 // NOLINTEND
246
247public:
248 // vftables
249 // NOLINTBEGIN
250 MCNAPI static void** $vftable();
251 // NOLINTEND
252};
Definition AABB.h:18
Definition Actor.h:103
Definition BaseGameVersion.h:8
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockRandomTickEvent.h:16
Definition BlockItem.h:23
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition Experiments.h:14
Definition FallingBlock.h:20
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition Player.h:119
Definition Random.h:11
Definition TopSnowBlock.h:32
static MCAPI void ** $vftable()
Definition Vec3.h:10
Definition optional_ref.h:10
Definition ActorBlockSyncMessage.h:8
Definition BlockRandomTickEvent.h:13