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