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