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