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 // prevent constructor by default
31
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 // vIndex: 11
36 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
37
38 // vIndex: 9
39 virtual ::AABB const&
40 getOutline(::Block const& block, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const
41 /*override*/;
42
43 // vIndex: 22
44 virtual bool canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const /*override*/;
45
46 // vIndex: 91
47 virtual ::Block const&
48 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
49 /*override*/;
50
51 // vIndex: 66
52 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
53
54 // vIndex: 60
55 virtual void onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const
56 /*override*/;
57
58 // vIndex: 24
59 virtual bool canConnect(::Block const& otherBlock, uchar toOther, ::Block const& thisBlock) const /*override*/;
60
61 // vIndex: 89
62 virtual ::ItemInstance asItemInstance(::Block const& block, ::BlockActor const*) const /*override*/;
63
64 // vIndex: 56
65 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
66 /*override*/;
67
68 // vIndex: 135
69 virtual bool isInteractiveBlock() const /*override*/;
70
71 // vIndex: 83
72 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
73
74 // vIndex: 130
75 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
76
77 // vIndex: 146
78 virtual void _useTrapDoor(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
79
80 // vIndex: 144
81 virtual void _onHitByActivatingAttack(::BlockSource& region, ::BlockPos const& pos, ::Actor*) const /*override*/;
82
83 // vIndex: 0
84 virtual ~TrapDoorBlock() /*override*/;
85 // NOLINTEND
86
87public:
88 // member functions
89 // NOLINTBEGIN
90 MCAPI TrapDoorBlock(::std::string const& nameId, int id, ::Material const& material);
91
92 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
93
94 MCAPI void toggleOpen(::BlockSource& region, ::Actor* user, ::BlockPos const& pos) const;
95
96 MCFOLD void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
97 // NOLINTEND
98
99public:
100 // static functions
101 // NOLINTBEGIN
102 MCAPI static ::AABB const& _getShape(::Block const& block, ::AABB& bufferAABB, bool addBufferSpacing);
103 // NOLINTEND
104
105public:
106 // static variables
107 // NOLINTBEGIN
108 MCAPI static ::BaseGameVersion const& TRAP_DOOR_DOESNT_BREAK_FALLING_BLOCK_VERSION();
109 // NOLINTEND
110
111public:
112 // constructor thunks
113 // NOLINTBEGIN
114 MCAPI void* $ctor(::std::string const& nameId, int id, ::Material const& material);
115 // NOLINTEND
116
117public:
118 // destructor thunk
119 // NOLINTBEGIN
120 MCFOLD void $dtor();
121 // NOLINTEND
122
123public:
124 // virtual function thunks
125 // NOLINTBEGIN
126 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
127
128 MCAPI ::AABB const&
129 $getOutline(::Block const& block, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const;
130
131 MCAPI bool $canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const;
132
133 MCAPI ::Block const& $getPlacementBlock(
134 ::Actor const& by,
135 ::BlockPos const& pos,
136 uchar face,
137 ::Vec3 const& clickPos,
138 int itemValue
139 ) const;
140
141 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
142
143 MCAPI void $onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const;
144
145 MCAPI bool $canConnect(::Block const& otherBlock, uchar toOther, ::Block const& thisBlock) const;
146
147 MCAPI ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const*) const;
148
149 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
150
151 MCFOLD bool $isInteractiveBlock() const;
152
153 MCAPI bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
154
155 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
156
157 MCAPI void $_useTrapDoor(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
158
159 MCAPI void $_onHitByActivatingAttack(::BlockSource& region, ::BlockPos const& pos, ::Actor*) const;
160 // NOLINTEND
161
162public:
163 // vftables
164 // NOLINTBEGIN
165 MCNAPI static void** $vftable();
166 // NOLINTEND
167};
Definition AABB.h:18
Definition Actor.h:103
Definition BaseGameVersion.h:8
Definition BlockActor.h:32
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:18
Definition BlockLegacy.h:86
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition Experiments.h:14
Definition IConstBlockSource.h:24
Definition ItemInstance.h:16
Definition Material.h:8
Definition TrapDoorBlock.h:27
static MCAPI void ** $vftable()
Definition Vec3.h:10