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