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