LeviLamina
Loading...
Searching...
No Matches
PistonArmBlock.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/BlockSupportType.h"
9#include "mc/world/level/block/BlockType.h"
10#include "mc/world/level/block/PistonBlock.h"
11
12// auto generated forward declare list
13// clang-format off
14class AABB;
15class BaseGameVersion;
16class Block;
17class BlockActor;
18class BlockPos;
19class BlockSource;
20class Experiments;
22class HitResult;
24class ItemInstance;
25class Player;
26class Vec3;
27namespace BlockEvents { class BlockQueuedTickEvent; }
28// clang-format on
29
30class PistonArmBlock : public ::BlockType {
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<4, 4, ::PistonBlock::Type> mType;
35 // NOLINTEND
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
41
42 virtual ::AABB getCollisionShape(
43 ::Block const& block,
44 ::IConstBlockSource const& region,
45 ::BlockPos const& pos,
47 ) const /*override*/;
48
49 virtual bool addCollisionShapes(
50 ::Block const& block,
51 ::IConstBlockSource const& region,
52 ::BlockPos const& pos,
53 ::AABB const* intersectTestBox,
54 ::std::vector<::AABB>& inoutBoxes,
56 ) const /*override*/;
57
58 virtual ::HitResult clip(
59 ::Block const& block,
60 ::BlockSource const& region,
61 ::BlockPos const& pos,
62 ::Vec3 const& A,
63 ::Vec3 const& B,
64 ::ShapeType shapeType,
66 ) const /*override*/;
67
68 virtual bool canProvideSupport(::Block const&, uchar, ::BlockSupportType) const /*override*/;
69
70 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
71 /*override*/;
72
73 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
74
75 virtual ::Block const* playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const
76 /*override*/;
77
78 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
79
80 virtual bool getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const
81 /*override*/;
82
83 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
84
85 virtual ~PistonArmBlock() /*override*/ = default;
86 // NOLINTEND
87
88public:
89 // member functions
90 // NOLINTBEGIN
91 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
92 // NOLINTEND
93
94public:
95 // virtual function thunks
96 // NOLINTBEGIN
97 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
98
99 MCAPI ::AABB $getCollisionShape(
100 ::Block const& block,
101 ::IConstBlockSource const& region,
102 ::BlockPos const& pos,
104 ) const;
105
106 MCAPI bool $addCollisionShapes(
107 ::Block const& block,
108 ::IConstBlockSource const& region,
109 ::BlockPos const& pos,
110 ::AABB const* intersectTestBox,
111 ::std::vector<::AABB>& inoutBoxes,
113 ) const;
114
115 MCAPI ::HitResult $clip(
116 ::Block const& block,
117 ::BlockSource const& region,
118 ::BlockPos const& pos,
119 ::Vec3 const& A,
120 ::Vec3 const& B,
121 ::ShapeType shapeType,
123 ) const;
124
125 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
126
127 MCFOLD bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
128
129 MCAPI ::Block const* $playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const;
130
131 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
132
133 MCAPI bool $getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const;
134
135 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
136
137
138 // NOLINTEND
139
140public:
141 // vftables
142 // NOLINTBEGIN
143 MCAPI static void** $vftable();
144 // NOLINTEND
145};
Definition AABB.h:18
Definition BaseGameVersion.h:8
Definition BlockActor.h:32
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition HitResult.h:17
Definition IConstBlockSource.h:25
Definition ItemInstance.h:15
Definition PistonArmBlock.h:30
Definition Player.h:125
Definition Vec3.h:10
Definition optional_ref.h:10