LeviLamina
Loading...
Searching...
No Matches
FenceBlock.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
11// auto generated forward declare list
12// clang-format off
13class AABB;
14class BaseGameVersion;
15class Block;
16class BlockActor;
17class BlockPos;
18class BlockSource;
19class Experiments;
21class HitResult;
23class ItemInstance;
24class Player;
25class Vec3;
26namespace BlockEvents { class BlockPlayerInteractEvent; }
27// clang-format on
28
29class FenceBlock : public ::BlockType {
30public:
31 // virtual functions
32 // NOLINTBEGIN
33 // vIndex: 24
34 virtual bool canConnect(::Block const& otherBlock, uchar, ::Block const&) const /*override*/;
35
36 // vIndex: 10
37 virtual ::AABB const& getVisualShapeInWorld(
38 ::Block const& block,
39 ::IConstBlockSource const& region,
40 ::BlockPos const& pos,
41 ::AABB& bufferAABB
42 ) const /*override*/;
43
44 // vIndex: 5
45 virtual ::AABB getCollisionShape(
46 ::Block const& block,
47 ::IConstBlockSource const& region,
48 ::BlockPos const& pos,
50 ) const /*override*/;
51
52 // vIndex: 9
53 virtual ::AABB const& getOutline(
54 ::Block const& block,
55 ::IConstBlockSource const& region,
56 ::BlockPos const& pos,
57 ::AABB& bufferValue
58 ) const /*override*/;
59
60 // vIndex: 7
61 virtual bool addCollisionShapes(
62 ::Block const& block,
63 ::IConstBlockSource const& region,
64 ::BlockPos const& pos,
65 ::AABB const* intersectTestBox,
66 ::std::vector<::AABB>& inoutBoxes,
68 ) const /*override*/;
69
70 // vIndex: 22
71 virtual bool canProvideSupport(::Block const&, uchar face, ::BlockSupportType type) const /*override*/;
72
73 // vIndex: 89
74 virtual ::ItemInstance asItemInstance(::Block const& block, ::BlockActor const*) const /*override*/;
75
76 // vIndex: 88
77 virtual ::Block const* playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const
78 /*override*/;
79
80 // vIndex: 111
81 virtual ::std::string buildDescriptionId(::Block const& block) const /*override*/;
82
83 // vIndex: 31
84 virtual bool isFenceBlock() const /*override*/;
85
86 // vIndex: 13
87 virtual bool
88 getLiquidClipVolume(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::AABB& includeBox) const
89 /*override*/;
90
91 // vIndex: 78
92 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
93
94 // vIndex: 83
95 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
96
97 // vIndex: 4
98 virtual ::HitResult clip(
99 ::Block const& block,
100 ::BlockSource const& region,
101 ::BlockPos const& pos,
102 ::Vec3 const& A,
103 ::Vec3 const& B,
104 ::ShapeType shapeType,
106 ) const /*override*/;
107
108 // vIndex: 130
109 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
110
111 // vIndex: 0
112 virtual ~FenceBlock() /*override*/ = default;
113 // NOLINTEND
114
115public:
116 // member functions
117 // NOLINTBEGIN
118 MCAPI void fetchPathableNeighbors(
119 ::std::vector<::BlockPos>& outNeighbors,
120 ::BlockSource& region,
121 ::BlockPos const& pos,
122 ::Vec3 const& entityPos
123 ) const;
124
125 MCFOLD void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
126 // NOLINTEND
127
128public:
129 // static functions
130 // NOLINTBEGIN
131 MCAPI static ::AABB const& _getShape(
132 ::IConstBlockSource const& region,
133 ::BlockPos const& pos,
134 ::Block const& block,
135 ::AABB& bufferValue,
136 bool isCollisionShape
137 );
138 // NOLINTEND
139
140public:
141 // static variables
142 // NOLINTBEGIN
143 MCAPI static ::BaseGameVersion const& FENCE_DOESNT_BREAK_FALLING_BLOCK_VERSION();
144 // NOLINTEND
145
146public:
147 // virtual function thunks
148 // NOLINTBEGIN
149 MCAPI bool $canConnect(::Block const& otherBlock, uchar, ::Block const&) const;
150
151 MCAPI ::AABB const& $getVisualShapeInWorld(
152 ::Block const& block,
153 ::IConstBlockSource const& region,
154 ::BlockPos const& pos,
155 ::AABB& bufferAABB
156 ) const;
157
158 MCAPI ::AABB $getCollisionShape(
159 ::Block const& block,
160 ::IConstBlockSource const& region,
161 ::BlockPos const& pos,
163 ) const;
164
165 MCAPI ::AABB const& $getOutline(
166 ::Block const& block,
167 ::IConstBlockSource const& region,
168 ::BlockPos const& pos,
169 ::AABB& bufferValue
170 ) const;
171
172 MCAPI bool $addCollisionShapes(
173 ::Block const& block,
174 ::IConstBlockSource const& region,
175 ::BlockPos const& pos,
176 ::AABB const* intersectTestBox,
177 ::std::vector<::AABB>& inoutBoxes,
179 ) const;
180
181 MCFOLD bool $canProvideSupport(::Block const&, uchar face, ::BlockSupportType type) const;
182
183 MCFOLD ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const*) const;
184
185 MCFOLD ::Block const* $playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const;
186
187 MCAPI ::std::string $buildDescriptionId(::Block const& block) const;
188
189 MCFOLD bool $isFenceBlock() const;
190
191 MCFOLD bool
192 $getLiquidClipVolume(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::AABB& includeBox) const;
193
194 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
195
196 MCAPI bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
197
198 MCFOLD ::HitResult $clip(
199 ::Block const& block,
200 ::BlockSource const& region,
201 ::BlockPos const& pos,
202 ::Vec3 const& A,
203 ::Vec3 const& B,
204 ::ShapeType shapeType,
206 ) const;
207
208 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
209 // NOLINTEND
210
211public:
212 // vftables
213 // NOLINTBEGIN
214 MCAPI static void** $vftable();
215 // NOLINTEND
216};
Definition AABB.h:18
Definition BaseGameVersion.h:8
Definition BlockActor.h:32
Definition BlockPlayerInteractEvent.h:17
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition BlockType.h:84
Definition Block.h:38
Definition Experiments.h:14
Definition FenceBlock.h:29
Definition GetCollisionShapeInterface.h:13
Definition HitResult.h:17
Definition IConstBlockSource.h:25
Definition ItemInstance.h:15
Definition Player.h:123
Definition Vec3.h:10
Definition optional_ref.h:10