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;
18class Material;
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 // prevent constructor by default
30 ThinFenceBlock();
31
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual void addAABBs(
36 ::Block const& block,
37 ::IConstBlockSource const& region,
38 ::BlockPos const& blockPos,
39 ::AABB const* intersectTestBox,
40 ::std::vector<::AABB>& inoutBoxes
41 ) const /*override*/;
42
43 virtual bool addCollisionShapes(
44 ::Block const& block,
45 ::IConstBlockSource const& region,
46 ::BlockPos const& pos,
47 ::AABB const* intersectTestBox,
48 ::std::vector<::AABB>& inoutBoxes,
50 ) const /*override*/;
51
52 virtual ::AABB const& getVisualShapeInWorld(
53 ::Block const& block,
54 ::IConstBlockSource const& region,
55 ::BlockPos const& pos,
56 ::AABB& bufferAABB
57 ) const /*override*/;
58
59 virtual ::AABB getCollisionShape(
60 ::Block const& block,
61 ::IConstBlockSource const& region,
62 ::BlockPos const& pos,
64 ) const /*override*/;
65
66 virtual bool getCollisionShapeForCamera(
67 ::AABB& outAABB,
68 ::Block const& block,
69 ::IConstBlockSource const& region,
70 ::BlockPos const& pos
71 ) const /*override*/;
72
73 virtual ::AABB const& getOutline(
74 ::Block const& block,
75 ::IConstBlockSource const& region,
76 ::BlockPos const& pos,
77 ::AABB& bufferValue
78 ) const /*override*/;
79
80 virtual bool canProvideSupport(::Block const& face, uchar type, ::BlockSupportType) const /*override*/;
81
82 virtual bool isThinFenceBlock() const /*override*/;
83
84 virtual bool breaksFallingBlocks(::Block const& version, ::BaseGameVersion const) const /*override*/;
85 // NOLINTEND
86
87public:
88 // member functions
89 // NOLINTBEGIN
90 MCAPI ThinFenceBlock(
91 ::std::string const& nameId,
92 int id,
93 ::Material const& material,
94 bool singleSide,
95 bool doesNotCollideWithCamera
96 );
97 // NOLINTEND
98
99public:
100 // static variables
101 // NOLINTBEGIN
102 MCAPI static ::BaseGameVersion const& THIN_FENCE_DOESNT_BREAK_FALLING_BLOCK_VERSION();
103 // NOLINTEND
104
105public:
106 // constructor thunks
107 // NOLINTBEGIN
108 MCAPI void* $ctor(
109 ::std::string const& nameId,
110 int id,
111 ::Material const& material,
112 bool singleSide,
113 bool doesNotCollideWithCamera
114 );
115 // NOLINTEND
116
117public:
118 // virtual function thunks
119 // NOLINTBEGIN
120 MCAPI void $addAABBs(
121 ::Block const& block,
122 ::IConstBlockSource const& region,
123 ::BlockPos const& blockPos,
124 ::AABB const* intersectTestBox,
125 ::std::vector<::AABB>& inoutBoxes
126 ) const;
127
128 MCFOLD bool $addCollisionShapes(
129 ::Block const& block,
130 ::IConstBlockSource const& region,
131 ::BlockPos const& pos,
132 ::AABB const* intersectTestBox,
133 ::std::vector<::AABB>& inoutBoxes,
135 ) const;
136
137 MCAPI ::AABB const& $getVisualShapeInWorld(
138 ::Block const& block,
139 ::IConstBlockSource const& region,
140 ::BlockPos const& pos,
141 ::AABB& bufferAABB
142 ) const;
143
144 MCAPI ::AABB $getCollisionShape(
145 ::Block const& block,
146 ::IConstBlockSource const& region,
147 ::BlockPos const& pos,
149 ) const;
150
151 MCAPI bool $getCollisionShapeForCamera(
152 ::AABB& outAABB,
153 ::Block const& block,
154 ::IConstBlockSource const& region,
155 ::BlockPos const& pos
156 ) const;
157
158 MCFOLD ::AABB const& $getOutline(
159 ::Block const& block,
160 ::IConstBlockSource const& region,
161 ::BlockPos const& pos,
162 ::AABB& bufferValue
163 ) const;
164
165 MCFOLD bool $canProvideSupport(::Block const& face, uchar type, ::BlockSupportType) const;
166
167 MCFOLD bool $isThinFenceBlock() const;
168
169 MCAPI bool $breaksFallingBlocks(::Block const& version, ::BaseGameVersion const) const;
170
171
172 // NOLINTEND
173
174public:
175 // vftables
176 // NOLINTBEGIN
177 MCAPI static void** $vftable();
178 // NOLINTEND
179};
Definition AABB.h:18
Definition BaseGameVersion.h:13
Definition BlockPos.h:21
Definition Block.h:69
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition Material.h:8
Definition optional_ref.h:10