LeviLamina
Loading...
Searching...
No Matches
ChemistryTableBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/world/Container.h"
8#include "mc/world/item/ItemStack.h"
9#include "mc/world/level/block/actor/BlockActor.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class BlockPos;
15class BlockSource;
16class CompoundTag;
18class DataLoadHelper;
19class ILevel;
20class LabTablePacket;
22class Player;
23class Random;
24class SaveContext;
25struct ActorUniqueID;
26// clang-format on
27
29public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActorUniqueID>> mOpenedPlayer;
33 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::LabTableReaction>> mCurReaction;
34 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CraftableCompounds>> mCraftableCompounds;
35 ::ll::TypedStorage<8, 1368, ::ItemStack[9]> mItems;
36 ::ll::TypedStorage<8, 152, ::ItemStack> mPendingReactionOutput;
37 ::ll::TypedStorage<1, 1, bool> mIsTableTypeCached;
38 ::ll::TypedStorage<8, 48, ::HashedString> mCachedTableType;
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 // vIndex: 0
49 virtual ~ChemistryTableBlockActor() /*override*/;
50
51 // vIndex: 31
52 virtual ::Container* getContainer() /*override*/;
53
54 // vIndex: 30
55 virtual ::Container const* getContainer() const /*override*/;
56
57 // vIndex: 7
58 virtual ::ItemStack const& getItem(int slot) const /*override*/;
59
60 // vIndex: 12
61 virtual void setItem(int slot, ::ItemStack const& item) /*override*/;
62
63 // vIndex: 21
64 virtual int getMaxStackSize() const /*override*/;
65
66 // vIndex: 20
67 virtual int getContainerSize() const /*override*/;
68
69 // vIndex: 22
70 virtual void startOpen(::Actor&) /*override*/;
71
72 // vIndex: 23
73 virtual void stopOpen(::Actor& actor) /*override*/;
74
75 // vIndex: 13
76 virtual void onRemoved(::BlockSource& region) /*override*/;
77
78 // vIndex: 1
79 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
80
81 // vIndex: 2
82 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
83
84 // vIndex: 9
85 virtual void tick(::BlockSource& region) /*override*/;
86
87 // vIndex: 2
88 virtual void serverInitItemStackIds(
89 int containerSlot,
90 int count,
91 ::std::function<void(int, ::ItemStack const&)> onNetIdChanged
92 ) /*override*/;
93 // NOLINTEND
94
95public:
96 // member functions
97 // NOLINTBEGIN
98 MCAPI explicit ChemistryTableBlockActor(::BlockPos const& pos);
99
100 MCAPI ::std::unique_ptr<::LabTableReaction>
101 _createReaction(::Random& random, ::std::vector<::ItemStack> const& consumedInput);
102
103 MCAPI void _popPendingReactionOutput(::BlockSource& region);
104
105 MCAPI ::HashedString const& _updateType(::BlockSource& region);
106
107 MCAPI void playerOpenLabTable(::Player& player);
108
109 MCAPI void reset(::BlockSource& region);
110
111 MCAPI void serverCombine(::BlockSource& region, ::std::vector<::ItemStack> const& consumedInput);
112
113 MCAPI void serverLabTablePacket_DEPRECATED(::LabTablePacket const& packet, ::BlockSource& region);
114 // NOLINTEND
115
116public:
117 // constructor thunks
118 // NOLINTBEGIN
119 MCAPI void* $ctor(::BlockPos const& pos);
120 // NOLINTEND
121
122public:
123 // destructor thunk
124 // NOLINTBEGIN
125 MCAPI void $dtor();
126 // NOLINTEND
127
128public:
129 // virtual function thunks
130 // NOLINTBEGIN
131 MCFOLD ::Container* $getContainer();
132
133 MCFOLD ::Container const* $getContainer() const;
134
135 MCAPI ::ItemStack const& $getItem(int slot) const;
136
137 MCAPI void $setItem(int slot, ::ItemStack const& item);
138
139 MCFOLD int $getMaxStackSize() const;
140
141 MCFOLD int $getContainerSize() const;
142
143 MCFOLD void $startOpen(::Actor&);
144
145 MCAPI void $stopOpen(::Actor& actor);
146
147 MCAPI void $onRemoved(::BlockSource& region);
148
149 MCAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
150
151 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
152
153 MCAPI void $tick(::BlockSource& region);
154
155 MCAPI void $serverInitItemStackIds(
156 int containerSlot,
157 int count,
158 ::std::function<void(int, ::ItemStack const&)> onNetIdChanged
159 );
160 // NOLINTEND
161
162public:
163 // vftables
164 // NOLINTBEGIN
165 MCNAPI static void** $vftableForContainer();
166
167 MCNAPI static void** $vftableForBlockActor();
168 // NOLINTEND
169};
Definition Actor.h:102
Definition BlockActor.h:32
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition ChemistryTableBlockActor.h:28
static MCAPI void ** $vftableForContainer()
static MCAPI void ** $vftableForBlockActor()
Definition CompoundTag.h:13
Definition Container.h:31
Definition CraftableCompounds.h:17
Definition DataLoadHelper.h:20
Definition ILevel.h:207
Definition ItemStack.h:23
Definition LabTablePacket.h:19
Definition LabTableReaction.h:16
Definition Player.h:123
Definition Random.h:10
Definition SaveContext.h:5
Definition ActorUniqueID.h:5