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& block, uchar face, ::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 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
89 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
90 // NOLINTEND
91
92public:
93 // static functions
94 // NOLINTBEGIN
95 MCAPI static void _getCollisions(::AABB& armBaseAABB, ::AABB& armAABB, ::AABB& frontAABB, uchar facingDir);
96 // NOLINTEND
97
98public:
99 // virtual function thunks
100 // NOLINTBEGIN
101 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
102
103 MCAPI ::AABB $getCollisionShape(
104 ::Block const& block,
105 ::IConstBlockSource const& region,
106 ::BlockPos const& pos,
108 ) const;
109
110 MCAPI bool $addCollisionShapes(
111 ::Block const& block,
112 ::IConstBlockSource const& region,
113 ::BlockPos const& pos,
114 ::AABB const* intersectTestBox,
115 ::std::vector<::AABB>& inoutBoxes,
117 ) const;
118
119 MCAPI ::HitResult $clip(
120 ::Block const& block,
121 ::BlockSource const& region,
122 ::BlockPos const& pos,
123 ::Vec3 const& A,
124 ::Vec3 const& B,
125 ::ShapeType shapeType,
127 ) const;
128
129 MCAPI bool $canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const;
130
131 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
132
133 MCFOLD bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
134
135 MCAPI ::Block const* $playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const;
136
137 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
138
139 MCAPI bool $getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const;
140
141 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
142
143
144 // NOLINTEND
145
146public:
147 // vftables
148 // NOLINTBEGIN
149 MCAPI static void** $vftable();
150 // NOLINTEND
151};
Definition AABB.h:18
Definition BaseGameVersion.h:8
Definition BlockActor.h:28
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:42
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition HitResult.h:18
Definition IConstBlockSource.h:25
Definition ItemInstance.h:15
Definition PistonArmBlock.h:30
Definition Player.h:129
Definition Vec3.h:10
Definition optional_ref.h:10