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