LeviLamina
Loading...
Searching...
No Matches
WallBlock.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/ShapeType.h"
8#include "mc/world/level/block/BlockSupportType.h"
9#include "mc/world/level/block/BlockType.h"
10#include "mc/world/level/block/WallConnectionType.h"
11
12// auto generated forward declare list
13// clang-format off
14class AABB;
15class Actor;
16class BaseGameVersion;
17class Block;
18class BlockPos;
19class BlockSource;
20class Experiments;
22class HitResult;
24class Player;
25class Vec3;
26namespace BlockEvents { class BlockPlaceEvent; }
27namespace BlockEvents { class BlockPlayerInteractEvent; }
28namespace BlockEvents { class BlockQueuedTickEvent; }
29// clang-format on
30
31class WallBlock : public ::BlockType {
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 // vIndex: 92
36 virtual ::Block const&
37 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
38 /*override*/;
39
40 // vIndex: 65
41 virtual void onStructureBlockPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
42
43 // vIndex: 66
44 virtual void onStructureNeighborBlockPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
45
46 // vIndex: 87
47 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
48 /*override*/;
49
50 // vIndex: 10
51 virtual ::AABB const&
52 getVisualShapeInWorld(::Block const& block, ::IConstBlockSource const&, ::BlockPos const&, ::AABB& bufferAABB) const
53 /*override*/;
54
55 // vIndex: 5
56 virtual ::AABB getCollisionShape(
57 ::Block const& block,
58 ::IConstBlockSource const& region,
59 ::BlockPos const& pos,
61 ) const /*override*/;
62
63 // vIndex: 9
64 virtual ::AABB const& getOutline(
65 ::Block const& block,
66 ::IConstBlockSource const& region,
67 ::BlockPos const& pos,
68 ::AABB& bufferValue
69 ) const /*override*/;
70
71 // vIndex: 22
72 virtual bool canProvideSupport(::Block const&, uchar, ::BlockSupportType) const /*override*/;
73
74 // vIndex: 24
75 virtual bool canConnect(::Block const& otherBlock, uchar, ::Block const&) const /*override*/;
76
77 // vIndex: 13
78 virtual bool
79 getLiquidClipVolume(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::AABB& includeBox) const
80 /*override*/;
81
82 // vIndex: 34
83 virtual bool isWallBlock() const /*override*/;
84
85 // vIndex: 84
86 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
87
88 // vIndex: 4
89 virtual ::HitResult clip(
90 ::Block const& block,
91 ::BlockSource const& region,
92 ::BlockPos const& pos,
93 ::Vec3 const& A,
94 ::Vec3 const& B,
95 ::ShapeType shapeType,
97 ) const /*override*/;
98
99 // vIndex: 89
100 virtual ::Block const* playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const
101 /*override*/;
102
103 // vIndex: 131
104 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
105
106 // vIndex: 0
107 virtual ~WallBlock() /*override*/ = default;
108 // NOLINTEND
109
110public:
111 // member functions
112 // NOLINTBEGIN
113 MCAPI ::WallConnectionType
114 _desiredConnectionState(::BlockSource& region, ::BlockPos const& pos, uchar neighbor) const;
115
116 MCAPI bool _isCovered(::BlockSource& region, ::BlockPos const& pos, ::AABB const& testAABB) const;
117
118 MCAPI bool _shouldBePost(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const;
119
120 MCAPI bool _tryAddToTickingQueue(::BlockSource& region, ::BlockPos const& pos) const;
121
122 MCAPI void onPlaceBase(::BlockEvents::BlockPlaceEvent& eventData) const;
123
124 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
125
126 MCAPI void tryFixWallStates(::BlockSource& region, ::BlockPos const& pos, int updateFlags) const;
127
128 MCFOLD void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
129 // NOLINTEND
130
131public:
132 // static variables
133 // NOLINTBEGIN
134 MCAPI static float const& POST_HEIGHT();
135
136 MCAPI static ::BaseGameVersion const& WALL_DOESNT_BREAK_FALLING_BLOCK_VERSION();
137 // NOLINTEND
138
139public:
140 // virtual function thunks
141 // NOLINTBEGIN
142 MCAPI ::Block const& $getPlacementBlock(
143 ::Actor const& by,
144 ::BlockPos const& pos,
145 uchar face,
146 ::Vec3 const& clickPos,
147 int itemValue
148 ) const;
149
150 MCFOLD void $onStructureBlockPlace(::BlockSource& region, ::BlockPos const& pos) const;
151
152 MCAPI void $onStructureNeighborBlockPlace(::BlockSource& region, ::BlockPos const& pos) const;
153
154 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
155
156 MCAPI ::AABB const& $getVisualShapeInWorld(
157 ::Block const& block,
158 ::IConstBlockSource const&,
159 ::BlockPos const&,
160 ::AABB& bufferAABB
161 ) const;
162
163 MCAPI ::AABB $getCollisionShape(
164 ::Block const& block,
165 ::IConstBlockSource const& region,
166 ::BlockPos const& pos,
168 ) const;
169
170 MCFOLD ::AABB const& $getOutline(
171 ::Block const& block,
172 ::IConstBlockSource const& region,
173 ::BlockPos const& pos,
174 ::AABB& bufferValue
175 ) const;
176
177 MCFOLD bool $canConnect(::Block const& otherBlock, uchar, ::Block const&) const;
178
179 MCFOLD bool
180 $getLiquidClipVolume(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::AABB& includeBox) const;
181
182 MCFOLD bool $isWallBlock() const;
183
184 MCAPI bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
185
186 MCFOLD ::HitResult $clip(
187 ::Block const& block,
188 ::BlockSource const& region,
189 ::BlockPos const& pos,
190 ::Vec3 const& A,
191 ::Vec3 const& B,
192 ::ShapeType shapeType,
194 ) const;
195
196 MCFOLD ::Block const* $playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const;
197
198 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
199 // NOLINTEND
200
201public:
202 // vftables
203 // NOLINTBEGIN
204 MCNAPI static void** $vftable();
205 // NOLINTEND
206};
Definition AABB.h:18
Definition Actor.h:102
Definition BaseGameVersion.h:8
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:17
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition BlockType.h:84
Definition Block.h:37
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition HitResult.h:17
Definition IConstBlockSource.h:24
Definition Player.h:123
Definition Vec3.h:10
Definition WallBlock.h:31
static MCAPI void ** $vftable()
Definition optional_ref.h:10