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,
39 ::BlockPos const& pos,
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& block, ::BaseGameVersion const version) 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& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
69 /*override*/;
70
71 virtual ::mce::Color getDustColor(::Block const&) const /*override*/;
72
73 virtual ::std::string getDustParticleName(::Block const&) const /*override*/;
74
75 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
76 // NOLINTEND
77
78public:
79 // member functions
80 // NOLINTBEGIN
81 MCAPI ScaffoldingBlock(::std::string const& nameId, int id);
82
83 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
84
85 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
86 // NOLINTEND
87
88public:
89 // static functions
90 // NOLINTBEGIN
91 MCAPI static bool _updateBlockStability(::BlockSource& region, ::BlockPos const& pos);
92
93 MCAPI static int calculateStability(::BlockSource const& region, ::BlockPos const& pos);
94 // NOLINTEND
95
96public:
97 // constructor thunks
98 // NOLINTBEGIN
99 MCAPI void* $ctor(::std::string const& nameId, int id);
100 // NOLINTEND
101
102public:
103 // virtual function thunks
104 // NOLINTBEGIN
105 MCAPI ::AABB $getCollisionShape(
106 ::Block const& block,
107 ::IConstBlockSource const&,
108 ::BlockPos const& pos,
110 ) const;
111
112 MCAPI ::HitResult $clip(
113 ::Block const& block,
114 ::BlockSource const& region,
115 ::BlockPos const& pos,
116 ::Vec3 const& A,
117 ::Vec3 const& B,
118 ::ShapeType shapeType,
120 ) const;
121
122 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
123
124 MCAPI bool $canSlide(::BlockSource& region, ::BlockPos const& pos) const;
125
126 MCFOLD bool $isLavaBlocking() const;
127
128 MCFOLD bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
129
130 MCAPI ::Block const& $getPlacementBlock(
131 ::Actor const& by,
132 ::BlockPos const& pos,
133 uchar face,
134 ::Vec3 const& clickPos,
135 int itemValue
136 ) const;
137
138 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
139
140 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
141
142 MCAPI ::mce::Color $getDustColor(::Block const&) const;
143
144 MCAPI ::std::string $getDustParticleName(::Block const&) const;
145
146 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
147
148
149 // NOLINTEND
150
151public:
152 // vftables
153 // NOLINTBEGIN
154 MCAPI static void** $vftable();
155 // NOLINTEND
156};
Definition AABB.h:18
Definition Actor.h:113
Definition BaseGameVersion.h:8
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:41
Definition FallingBlock.h:19
static MCAPI void ** $vftable()
Definition GetCollisionShapeInterface.h:13
Definition HitResult.h:18
Definition IConstBlockSource.h:25
Definition Vec3.h:10
Definition Color.h:13
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:14