LeviLamina
Loading...
Searching...
No Matches
ChestBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/Direction.h"
7#include "mc/world/level/block/ActorBlockBase.h"
8#include "mc/world/level/block/BlockSupportType.h"
9#include "mc/world/level/material/MaterialType.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class BaseGameVersion;
15class Block;
16class BlockLegacy;
17class BlockPos;
18class BlockSource;
19class Container;
20class Experiments;
22class Player;
23class Vec3;
24namespace BlockEvents { class BlockPlaceEvent; }
25// clang-format on
26
27class ChestBlock : public ::ActorBlock {
28public:
29 // ChestBlock inner types define
30 enum class ChestType : int {
31 Basic = 0,
32 Trap = 1,
33 Ender = 2,
34 };
35
36public:
37 // member variables
38 // NOLINTBEGIN
39 ::ll::TypedStorage<4, 4, ::ChestBlock::ChestType> mType;
40 // NOLINTEND
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 // vIndex: 125
46 virtual ::BlockLegacy& init() /*override*/;
47
48 // vIndex: 67
49 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
50
51 // vIndex: 132
52 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
53
54 // vIndex: 84
55 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
56
57 // vIndex: 62
58 virtual void onMove(::BlockSource& region, ::BlockPos const& from, ::BlockPos const& to) const /*override*/;
59
60 // vIndex: 63
61 virtual bool detachesOnPistonMove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
62
63 // vIndex: 105
64 virtual bool hasComparatorSignal() const /*override*/;
65
66 // vIndex: 106
67 virtual int getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const
68 /*override*/;
69
70 // vIndex: 121
71 virtual uchar getMappedFace(uchar face, ::Block const& block) const /*override*/;
72
73 // vIndex: 139
74 virtual bool use(::Player& player, ::BlockPos const& pos, uchar face) const /*override*/;
75
76 // vIndex: 88
77 virtual bool getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const
78 /*override*/;
79
80 // vIndex: 138
81 virtual bool isInteractiveBlock() const /*override*/;
82
83 // vIndex: 29
84 virtual bool isContainerBlock() const /*override*/;
85
86 // vIndex: 44
87 virtual bool isSignalSource() const /*override*/;
88
89 // vIndex: 54
90 virtual bool
91 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
92 /*override*/;
93
94 // vIndex: 23
95 virtual bool canProvideSupport(::Block const&, uchar face, ::BlockSupportType type) const /*override*/;
96
97 // vIndex: 59
98 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
99 /*override*/;
100
101 // vIndex: 131
102 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
103
104 // vIndex: 0
105 virtual ~ChestBlock() /*override*/;
106 // NOLINTEND
107
108public:
109 // member functions
110 // NOLINTBEGIN
111 MCAPI ChestBlock(::std::string const& nameId, int id, ::ChestBlock::ChestType type, ::MaterialType materialType);
112
113 MCFOLD void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
114
115 MCAPI void updateSignalStrength(::BlockSource& region, ::BlockPos const& pos, int strength) const;
116 // NOLINTEND
117
118public:
119 // static functions
120 // NOLINTBEGIN
121 MCAPI static bool _tryEquipChest(::Actor& actor);
122 // NOLINTEND
123
124public:
125 // constructor thunks
126 // NOLINTBEGIN
127 MCAPI void* $ctor(::std::string const& nameId, int id, ::ChestBlock::ChestType type, ::MaterialType materialType);
128 // NOLINTEND
129
130public:
131 // destructor thunk
132 // NOLINTBEGIN
133 MCFOLD void $dtor();
134 // NOLINTEND
135
136public:
137 // virtual function thunks
138 // NOLINTBEGIN
139 MCAPI ::BlockLegacy& $init();
140
141 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
142
143 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
144
145 MCFOLD bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
146
147 MCAPI void $onMove(::BlockSource& region, ::BlockPos const& from, ::BlockPos const& to) const;
148
149 MCFOLD bool $detachesOnPistonMove(::BlockSource& region, ::BlockPos const& pos) const;
150
151 MCFOLD bool $hasComparatorSignal() const;
152
153 MCFOLD int
154 $getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const;
155
156 MCAPI uchar $getMappedFace(uchar face, ::Block const& block) const;
157
158 MCAPI bool $use(::Player& player, ::BlockPos const& pos, uchar face) const;
159
160 MCAPI bool $getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const;
161
162 MCFOLD bool $isInteractiveBlock() const;
163
164 MCFOLD bool $isContainerBlock() const;
165
166 MCFOLD bool $isSignalSource() const;
167
168 MCFOLD bool
169 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
170
171 MCFOLD bool $canProvideSupport(::Block const&, uchar face, ::BlockSupportType type) const;
172
173 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
174
175 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
176 // NOLINTEND
177
178public:
179 // vftables
180 // NOLINTBEGIN
181 MCAPI static void** $vftable();
182 // NOLINTEND
183};
Definition ActorBlockBase.h:6
Definition Actor.h:104
Definition BaseGameVersion.h:13
Definition BlockPlaceEvent.h:15
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition ChestBlock.h:27
Definition Container.h:30
Definition Experiments.h:14
Definition IConstBlockSource.h:24
Definition Player.h:119
Definition Vec3.h:10