LeviLamina
Loading...
Searching...
No Matches
TrapDoorBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/BlockLegacy.h"
7#include "mc/world/level/block/BlockSupportType.h"
8
9// auto generated forward declare list
10// clang-format off
11class AABB;
12class Actor;
13class BaseGameVersion;
14class Block;
15class BlockActor;
16class BlockPos;
17class BlockSource;
18class Experiments;
20class ItemInstance;
21class Material;
22class Vec3;
23namespace BlockEvents { class BlockPlaceEvent; }
24namespace BlockEvents { class BlockPlayerInteractEvent; }
25// clang-format on
26
28public:
29 // TrapDoorBlock inner types define
30 enum class TrapDoorDir : uchar {
31 East = 0,
32 West = 1,
33 South = 2,
34 North = 3,
35 };
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 // vIndex: 11
41 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
42
43 // vIndex: 9
44 virtual ::AABB const&
45 getOutline(::Block const& block, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const
46 /*override*/;
47
48 // vIndex: 23
49 virtual bool canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const /*override*/;
50
51 // vIndex: 92
52 virtual ::Block const&
53 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
54 /*override*/;
55
56 // vIndex: 67
57 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
58
59 // vIndex: 61
60 virtual void onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const
61 /*override*/;
62
63 // vIndex: 25
64 virtual bool canConnect(::Block const& otherBlock, uchar toOther, ::Block const& thisBlock) const /*override*/;
65
66 // vIndex: 90
67 virtual ::ItemInstance asItemInstance(::Block const& block, ::BlockActor const*) const /*override*/;
68
69 // vIndex: 57
70 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
71 /*override*/;
72
73 // vIndex: 138
74 virtual bool isInteractiveBlock() const /*override*/;
75
76 // vIndex: 84
77 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
78
79 // vIndex: 131
80 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
81
82 // vIndex: 150
83 virtual void _useTrapDoor(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
84
85 // vIndex: 148
86 virtual void _onHitByActivatingAttack(::BlockSource& region, ::BlockPos const& pos, ::Actor*) const /*override*/;
87
88 // vIndex: 0
89 virtual ~TrapDoorBlock() /*override*/;
90 // NOLINTEND
91
92public:
93 // member functions
94 // NOLINTBEGIN
95 MCAPI TrapDoorBlock(::std::string const& nameId, int id, ::Material const& material);
96
97 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
98
99 MCAPI void toggleOpen(::BlockSource& region, ::Actor* user, ::BlockPos const& pos) const;
100
101 MCFOLD void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
102 // NOLINTEND
103
104public:
105 // static functions
106 // NOLINTBEGIN
107 MCAPI static ::AABB const& _getShape(::Block const& block, ::AABB& bufferAABB, bool addBufferSpacing);
108 // NOLINTEND
109
110public:
111 // static variables
112 // NOLINTBEGIN
113 MCAPI static ::BaseGameVersion const& TRAP_DOOR_DOESNT_BREAK_FALLING_BLOCK_VERSION();
114 // NOLINTEND
115
116public:
117 // constructor thunks
118 // NOLINTBEGIN
119 MCAPI void* $ctor(::std::string const& nameId, int id, ::Material const& material);
120 // NOLINTEND
121
122public:
123 // destructor thunk
124 // NOLINTBEGIN
125 MCFOLD void $dtor();
126 // NOLINTEND
127
128public:
129 // virtual function thunks
130 // NOLINTBEGIN
131 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
132
133 MCAPI ::AABB const&
134 $getOutline(::Block const& block, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const;
135
136 MCAPI bool $canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const;
137
138 MCAPI ::Block const&
139 $getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue)
140 const;
141
142 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
143
144 MCAPI void $onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const;
145
146 MCAPI bool $canConnect(::Block const& otherBlock, uchar toOther, ::Block const& thisBlock) const;
147
148 MCAPI ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const*) const;
149
150 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
151
152 MCFOLD bool $isInteractiveBlock() const;
153
154 MCAPI bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
155
156 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
157
158 MCAPI void $_useTrapDoor(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
159
160 MCAPI void $_onHitByActivatingAttack(::BlockSource& region, ::BlockPos const& pos, ::Actor*) const;
161 // NOLINTEND
162
163public:
164 // vftables
165 // NOLINTBEGIN
166 MCAPI static void** $vftable();
167 // NOLINTEND
168};
Definition AABB.h:16
Definition Actor.h:104
Definition BaseGameVersion.h:13
Definition BlockActor.h:32
Definition BlockPlaceEvent.h:15
Definition BlockPlayerInteractEvent.h:15
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition Experiments.h:14
Definition IConstBlockSource.h:24
Definition ItemInstance.h:16
Definition Material.h:8
Definition TrapDoorBlock.h:27
Definition Vec3.h:10