LeviLamina
Loading...
Searching...
No Matches
ThinFenceBlock.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/block/BlockSupportType.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 BlockPos;
16class BlockSource;
19// clang-format on
20
21class ThinFenceBlock : public ::BlockType {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<1, 1, bool const> mDoesNotCollideWithCamera;
26 // NOLINTEND
27
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual void addAABBs(
32 ::Block const& block,
33 ::IConstBlockSource const& region,
34 ::BlockPos const& pos,
35 ::AABB const* intersectTestBox,
36 ::std::vector<::AABB>& inoutBoxes
37 ) const /*override*/;
38
39 virtual bool addCollisionShapes(
40 ::Block const& block,
41 ::IConstBlockSource const& region,
42 ::BlockPos const& pos,
43 ::AABB const* intersectTestBox,
44 ::std::vector<::AABB>& inoutBoxes,
46 ) const /*override*/;
47
48 virtual ::AABB const& getVisualShapeInWorld(
49 ::Block const& block,
50 ::IConstBlockSource const& region,
51 ::BlockPos const& pos,
52 ::AABB& bufferAABB
53 ) const /*override*/;
54
55 virtual ::AABB getCollisionShape(
56 ::Block const& block,
57 ::IConstBlockSource const& region,
58 ::BlockPos const& pos,
60 ) const /*override*/;
61
62 virtual bool getCollisionShapeForCamera(
63 ::AABB& outAABB,
64 ::Block const& block,
65 ::IConstBlockSource const& region,
66 ::BlockPos const& pos
67 ) const /*override*/;
68
69 virtual ::AABB const& getOutline(
70 ::Block const& block,
71 ::IConstBlockSource const& region,
72 ::BlockPos const& pos,
73 ::AABB& bufferValue
74 ) const /*override*/;
75
76 virtual bool canProvideSupport(::Block const&, uchar face, ::BlockSupportType type) const /*override*/;
77
78 virtual bool isThinFenceBlock() const /*override*/;
79
80 virtual bool
81 getLiquidClipVolume(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::AABB& includeBox) const
82 /*override*/;
83
84 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
85
86 virtual ~ThinFenceBlock() /*override*/;
87 // NOLINTEND
88
89public:
90 // static variables
91 // NOLINTBEGIN
92 MCAPI static ::BaseGameVersion const& THIN_FENCE_DOESNT_BREAK_FALLING_BLOCK_VERSION();
93 // NOLINTEND
94
95public:
96 // destructor thunk
97 // NOLINTBEGIN
98 MCFOLD void $dtor();
99 // NOLINTEND
100
101public:
102 // virtual function thunks
103 // NOLINTBEGIN
104 MCAPI void $addAABBs(
105 ::Block const& block,
106 ::IConstBlockSource const& region,
107 ::BlockPos const& pos,
108 ::AABB const* intersectTestBox,
109 ::std::vector<::AABB>& inoutBoxes
110 ) const;
111
112 MCFOLD bool $addCollisionShapes(
113 ::Block const& block,
114 ::IConstBlockSource const& region,
115 ::BlockPos const& pos,
116 ::AABB const* intersectTestBox,
117 ::std::vector<::AABB>& inoutBoxes,
119 ) const;
120
121 MCAPI ::AABB const& $getVisualShapeInWorld(
122 ::Block const& block,
123 ::IConstBlockSource const& region,
124 ::BlockPos const& pos,
125 ::AABB& bufferAABB
126 ) const;
127
128 MCAPI ::AABB $getCollisionShape(
129 ::Block const& block,
130 ::IConstBlockSource const& region,
131 ::BlockPos const& pos,
133 ) const;
134
135 MCAPI bool $getCollisionShapeForCamera(
136 ::AABB& outAABB,
137 ::Block const& block,
138 ::IConstBlockSource const& region,
139 ::BlockPos const& pos
140 ) const;
141
142 MCFOLD ::AABB const& $getOutline(
143 ::Block const& block,
144 ::IConstBlockSource const& region,
145 ::BlockPos const& pos,
146 ::AABB& bufferValue
147 ) const;
148
149 MCFOLD bool $canProvideSupport(::Block const&, uchar face, ::BlockSupportType type) const;
150
151 MCFOLD bool $isThinFenceBlock() const;
152
153 MCFOLD bool
154 $getLiquidClipVolume(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::AABB& includeBox) const;
155
156 MCAPI bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
157
158
159 // NOLINTEND
160
161public:
162 // vftables
163 // NOLINTBEGIN
164 MCNAPI static void** $vftable();
165 // NOLINTEND
166};
Definition AABB.h:18
Definition BaseGameVersion.h:8
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition ThinFenceBlock.h:21
static MCAPI void ** $vftable()
Definition optional_ref.h:10