LeviLamina
Loading...
Searching...
No Matches
ScaffoldingBlock.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/FallingBlock.h"
9
10// auto generated forward declare list
11// clang-format off
12class AABB;
13class Actor;
14class BaseGameVersion;
15class Block;
16class BlockPos;
17class BlockSource;
18class Experiments;
20class HitResult;
22class Vec3;
24namespace BlockEvents { class BlockPlaceEvent; }
25namespace BlockEvents { class BlockQueuedTickEvent; }
26namespace mce { class Color; }
27// clang-format on
28
30public:
31 // virtual functions
32 // NOLINTBEGIN
33 // vIndex: 5
34 virtual ::AABB getCollisionShape(
35 ::Block const& block,
37 ::BlockPos const& pos,
39 ) const /*override*/;
40
41 // vIndex: 4
42 virtual ::HitResult clip(
43 ::Block const& block,
44 ::BlockSource const& region,
45 ::BlockPos const& pos,
46 ::Vec3 const& A,
47 ::Vec3 const& B,
48 ::ShapeType shapeType,
50 ) const /*override*/;
51
52 // vIndex: 86
53 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
54 /*override*/;
55
56 // vIndex: 106
57 virtual bool canSlide(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
58
59 // vIndex: 30
60 virtual bool isLavaBlocking() const /*override*/;
61
62 // vIndex: 83
63 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
64
65 // vIndex: 91
66 virtual ::Block const&
67 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
68 /*override*/;
69
70 // vIndex: 78
71 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
72
73 // vIndex: 56
74 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
75 /*override*/;
76
77 // vIndex: 147
78 virtual ::mce::Color getDustColor(::Block const&) const /*override*/;
79
80 // vIndex: 148
81 virtual ::std::string getDustParticleName(::Block const&) const /*override*/;
82
83 // vIndex: 122
84 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
85
86 // vIndex: 130
87 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
88
89 // vIndex: 0
90 virtual ~ScaffoldingBlock() /*override*/ = default;
91 // NOLINTEND
92
93public:
94 // member functions
95 // NOLINTBEGIN
96 MCAPI bool _updateBlockStability(::BlockSource& region, ::BlockPos const& pos) const;
97
98 MCAPI int calculateStability(::BlockSource const& region, ::BlockPos const& pos) const;
99
100 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
101
102 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
103 // NOLINTEND
104
105public:
106 // static variables
107 // NOLINTBEGIN
108 MCAPI static int const& MAX_STABILITY();
109 // NOLINTEND
110
111public:
112 // virtual function thunks
113 // NOLINTBEGIN
114 MCAPI ::AABB $getCollisionShape(
115 ::Block const& block,
116 ::IConstBlockSource const&,
117 ::BlockPos const& pos,
119 ) const;
120
121 MCAPI ::HitResult $clip(
122 ::Block const& block,
123 ::BlockSource const& region,
124 ::BlockPos const& pos,
125 ::Vec3 const& A,
126 ::Vec3 const& B,
127 ::ShapeType shapeType,
129 ) const;
130
131 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
132
133 MCAPI bool $canSlide(::BlockSource& region, ::BlockPos const& pos) const;
134
135 MCFOLD bool $isLavaBlocking() const;
136
137 MCFOLD bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
138
139 MCAPI ::Block const& $getPlacementBlock(
140 ::Actor const& by,
141 ::BlockPos const& pos,
142 uchar face,
143 ::Vec3 const& clickPos,
144 int itemValue
145 ) const;
146
147 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
148
149 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
150
151 MCAPI ::mce::Color $getDustColor(::Block const&) const;
152
153 MCAPI ::std::string $getDustParticleName(::Block const&) const;
154
155 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
156
157 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
158 // NOLINTEND
159
160public:
161 // vftables
162 // NOLINTBEGIN
163 MCNAPI static void** $vftable();
164 // NOLINTEND
165};
Definition AABB.h:18
Definition Actor.h:103
Definition BaseGameVersion.h:8
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition Experiments.h:14
Definition FallingBlock.h:20
Definition GetCollisionShapeInterface.h:13
Definition HitResult.h:19
Definition IConstBlockSource.h:24
Definition ScaffoldingBlock.h:29
static MCAPI void ** $vftable()
Definition Vec3.h:10
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:5