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 virtual ::BlockType& init() /*override*/;
43
44 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
45
46 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
47
48 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
49
50 virtual void onMove(::BlockSource& region, ::BlockPos const& from, ::BlockPos const& to) const /*override*/;
51
52 virtual bool detachesOnPistonMove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
53
54 virtual bool hasComparatorSignal() const /*override*/;
55
56 virtual int getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const
57 /*override*/;
58
59 virtual uchar getMappedFace(uchar face, ::Block const& block) const /*override*/;
60
61 virtual bool getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const
62 /*override*/;
63
64 virtual bool isInteractiveBlock() const /*override*/;
65
66 virtual bool isContainerBlock() const /*override*/;
67
68 virtual bool isSignalSource() const /*override*/;
69
70 virtual bool isChestBlock() const /*override*/;
71
72 virtual bool
73 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
74 /*override*/;
75
76 virtual bool canProvideSupport(::Block const&, uchar face, ::BlockSupportType type) const /*override*/;
77
78 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
79 /*override*/;
80
81 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
82
83 virtual ~ChestBlock() /*override*/;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
89 MCAPI ChestBlock(::std::string const& nameId, int id, ::ChestType type, ::MaterialType materialType);
90
91 MCFOLD void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
92
93 MCAPI void updateSignalStrength(::BlockSource& region, ::BlockPos const& pos, int strength) const;
94
95 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
96 // NOLINTEND
97
98public:
99 // static functions
100 // NOLINTBEGIN
101 MCAPI static bool _tryEquipChest(::Actor& actor);
102 // NOLINTEND
103
104public:
105 // constructor thunks
106 // NOLINTBEGIN
107 MCAPI void* $ctor(::std::string const& nameId, int id, ::ChestType type, ::MaterialType materialType);
108 // NOLINTEND
109
110public:
111 // destructor thunk
112 // NOLINTBEGIN
113 MCFOLD void $dtor();
114 // NOLINTEND
115
116public:
117 // virtual function thunks
118 // NOLINTBEGIN
119 MCAPI ::BlockType& $init();
120
121 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
122
123 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
124
125 MCFOLD bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
126
127 MCAPI void $onMove(::BlockSource& region, ::BlockPos const& from, ::BlockPos const& to) const;
128
129 MCFOLD bool $detachesOnPistonMove(::BlockSource& region, ::BlockPos const& pos) const;
130
131 MCFOLD bool $hasComparatorSignal() const;
132
133 MCFOLD int
134 $getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const;
135
136 MCAPI uchar $getMappedFace(uchar face, ::Block const& block) const;
137
138 MCAPI bool $getSecondPart(::IConstBlockSource const& region, ::BlockPos const& pos, ::BlockPos& out) const;
139
140 MCFOLD bool $isInteractiveBlock() const;
141
142 MCFOLD bool $isContainerBlock() const;
143
144 MCFOLD bool $isSignalSource() const;
145
146 MCFOLD bool $isChestBlock() const;
147
148 MCFOLD bool
149 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
150
151 MCFOLD bool $canProvideSupport(::Block const&, uchar face, ::BlockSupportType type) const;
152
153 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
154
155 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
156
157
158 // NOLINTEND
159
160public:
161 // vftables
162 // NOLINTBEGIN
163 MCAPI static void** $vftable();
164 // NOLINTEND
165};
Definition Actor.h:105
Definition BaseGameVersion.h:8
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:17
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition Container.h:33
Definition Experiments.h:14
Definition IConstBlockSource.h:25
Definition Vec3.h:10