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