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