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