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