Skip to content
LeviMC
English
AutoLightDark
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 MCNAPI ScaffoldingBlock(::std::string const& nameId, int id);
82
83 MCNAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
84
85 MCNAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
86 // NOLINTEND
87
88public:
89 // static functions
90 // NOLINTBEGIN
91 MCNAPI static bool _updateBlockStability(::BlockSource& region, ::BlockPos const& pos);
92
93 MCNAPI static int calculateStability(::BlockSource const& region, ::BlockPos const& pos);
94 // NOLINTEND
95
96public:
97 // constructor thunks
98 // NOLINTBEGIN
99 MCNAPI void* $ctor(::std::string const& nameId, int id);
100 // NOLINTEND
101
102public:
103 // virtual function thunks
104 // NOLINTBEGIN
105 MCNAPI ::AABB $getCollisionShape(
106 ::Block const& block,
107 ::IConstBlockSource const&,
108 ::BlockPos const& pos,
110 ) const;
111
112 MCNAPI ::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 MCNAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
123
124 MCNAPI bool $canSlide(::BlockSource& region, ::BlockPos const& pos) const;
125
126 MCNAPI bool $isLavaBlocking() const;
127
128 MCNAPI bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
129
130 MCNAPI ::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 MCNAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
139
140 MCNAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
141
142 MCNAPI ::mce::Color $getDustColor(::Block const&) const;
143
144 MCNAPI ::std::string $getDustParticleName(::Block const&) const;
145
146 MCNAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
147
148
149 // NOLINTEND
150
151public:
152 // vftables
153 // NOLINTBEGIN
154 MCNAPI static void** $vftable();
155 // NOLINTEND
156};
Definition AABB.h:18
Definition Actor.h:116
Definition BaseGameVersion.h:8
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition Block.h:42
Definition FallingBlock.h:19
Definition GetCollisionShapeInterface.h:13
Definition HitResult.h:18
Definition IConstBlockSource.h:25
MCAPI::mce::Color $getDustColor(::Block const &) const
MCAPI void tick(::BlockEvents::BlockQueuedTickEvent &eventData) const
static MCAPI int calculateStability(::BlockSource const &region, ::BlockPos const &pos)
MCAPI ScaffoldingBlock(::std::string const &nameId, int id)
MCAPI::AABB $getCollisionShape(::Block const &block, ::IConstBlockSource const &, ::BlockPos const &pos, ::optional_ref<::GetCollisionShapeInterface const > entity) const
MCAPI void $neighborChanged(::BlockSource &region, ::BlockPos const &pos, ::BlockPos const &neighborPos) const
MCAPI bool $breaksFallingBlocks(::Block const &block, ::BaseGameVersion const version) const
MCAPI::std::string $getDustParticleName(::Block const &) const
MCAPI bool $isLavaBlocking() const
MCAPI void onPlace(::BlockEvents::BlockPlaceEvent &eventData) const
MCAPI bool $mayPlace(::BlockSource &region, ::BlockPos const &pos) const
MCAPI void * $ctor(::std::string const &nameId, int id)
MCAPI::HitResult $clip(::Block const &block, ::BlockSource const &region, ::BlockPos const &pos, ::Vec3 const &A, ::Vec3 const &B, ::ShapeType shapeType, ::optional_ref<::GetCollisionShapeInterface const > entity) const
MCAPI bool $canSlide(::BlockSource &region, ::BlockPos const &pos) const
MCAPI::Block const & $getPlacementBlock(::Actor const &by, ::BlockPos const &pos, uchar face, ::Vec3 const &clickPos, int itemValue) const
static MCAPI bool _updateBlockStability(::BlockSource &region, ::BlockPos const &pos)
static MCAPI void ** $vftable()
MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const &tickData) const
MCAPI bool $checkIsPathable(::Actor &entity, ::BlockPos const &lastPathPos, ::BlockPos const &pathPos) const
Definition Vec3.h:10
Definition Color.h:13
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:14