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 // prevent constructor by default
39 PistonArmBlock();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
45
46 virtual ::AABB getCollisionShape(
47 ::Block const& block,
48 ::IConstBlockSource const& region,
49 ::BlockPos const& pos,
51 ) const /*override*/;
52
53 virtual bool addCollisionShapes(
54 ::Block const& block,
55 ::IConstBlockSource const& region,
56 ::BlockPos const& pos,
57 ::AABB const* intersectTestBox,
58 ::std::vector<::AABB>& inoutBoxes,
60 ) const /*override*/;
61
62 virtual ::HitResult clip(
63 ::Block const& block,
64 ::BlockSource const& region,
65 ::BlockPos const& pos,
66 ::Vec3 const& A,
67 ::Vec3 const& B,
68 ::ShapeType shapeType,
70 ) const /*override*/;
71
72 virtual bool canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const /*override*/;
73
74 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
75 /*override*/;
76
77 virtual bool breaksFallingBlocks(::Block const&, ::BaseGameVersion const) const /*override*/;
78
79 virtual ::Block const* playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const
80 /*override*/;
81
82 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
83
84 virtual bool getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const
85 /*override*/;
86
87 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
88 // NOLINTEND
89
90public:
91 // member functions
92 // NOLINTBEGIN
93 MCAPI PistonArmBlock(::std::string const& nameId, int id, ::PistonBlock::Type type);
94
95 MCAPI void _getCollisions(::AABB& armBaseAABB, ::AABB& armAABB, ::AABB& frontAABB, uchar facingDir) const;
96
97 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
98 // NOLINTEND
99
100public:
101 // constructor thunks
102 // NOLINTBEGIN
103 MCAPI void* $ctor(::std::string const& nameId, int id, ::PistonBlock::Type type);
104 // NOLINTEND
105
106public:
107 // virtual function thunks
108 // NOLINTBEGIN
109 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
110
111 MCAPI ::AABB $getCollisionShape(
112 ::Block const& block,
113 ::IConstBlockSource const& region,
114 ::BlockPos const& pos,
116 ) const;
117
118 MCAPI bool $addCollisionShapes(
119 ::Block const& block,
120 ::IConstBlockSource const& region,
121 ::BlockPos const& pos,
122 ::AABB const* intersectTestBox,
123 ::std::vector<::AABB>& inoutBoxes,
125 ) const;
126
127 MCAPI ::HitResult $clip(
128 ::Block const& block,
129 ::BlockSource const& region,
130 ::BlockPos const& pos,
131 ::Vec3 const& A,
132 ::Vec3 const& B,
133 ::ShapeType shapeType,
135 ) const;
136
137 MCAPI bool $canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const;
138
139 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
140
141 MCFOLD bool $breaksFallingBlocks(::Block const&, ::BaseGameVersion const) const;
142
143 MCAPI ::Block const* $playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const;
144
145 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
146
147 MCAPI bool $getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const;
148
149 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
150
151
152 // NOLINTEND
153
154public:
155 // vftables
156 // NOLINTBEGIN
157 MCAPI static void** $vftable();
158 // NOLINTEND
159};
Definition AABB.h:18
Definition BaseGameVersion.h:13
Definition BlockActor.h:30
Definition BlockQueuedTickEvent.h:18
Definition BlockPos.h:21
Definition BlockSource.h:72
Definition Block.h:69
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition HitResult.h:19
Definition IConstBlockSource.h:23
Definition ItemInstance.h:15
Definition Player.h:136
Definition Vec3.h:10
Definition optional_ref.h:10