LeviLamina
Loading...
Searching...
No Matches
DispenserBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/ItemStack.h"
7#include "mc/world/level/block/actor/BlockActorType.h"
8#include "mc/world/level/block/actor/RandomizableBlockActorContainer.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
14class BlockPos;
15class BlockSource;
16class CompoundTag;
17class Container;
18class DataLoadHelper;
19class ILevel;
20class Random;
21class SaveContext;
22// clang-format on
23
24class DispenserBlockActor : public ::RandomizableBlockActorContainer {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 1368, ::ItemStack[9]> mItems;
29 // NOLINTEND
30
31public:
32 // prevent constructor by default
33 DispenserBlockActor();
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual int getContainerSize() const /*override*/;
39
40 virtual ::Container* getContainer() /*override*/;
41
42 virtual ::Container const* getContainer() const /*override*/;
43
44 virtual ::ItemStack const& getItem(int slot) const /*override*/;
45
46 virtual void setItem(int slot, ::ItemStack const& item) /*override*/;
47
48 virtual int getMaxStackSize() const /*override*/;
49
50 virtual ::std::string getName() const /*override*/;
51
52 virtual void startOpen(::Actor& actor) /*override*/;
53
54 virtual void stopOpen(::Actor& actor) /*override*/;
55
56 virtual void load(::ILevel& level, ::CompoundTag const& base, ::DataLoadHelper& dataLoadHelper) /*override*/;
57
58 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
59
60 virtual void onMove() /*override*/;
61
62 virtual void serverInitItemStackIds(
63 int containerSlot,
64 int count,
65 ::std::function<void(int, ::ItemStack const&)> onNetIdChanged
66 ) /*override*/;
67
68 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource&) /*override*/;
69
70 virtual void _onUpdatePacket(::CompoundTag const& data, ::BlockSource&) /*override*/;
71 // NOLINTEND
72
73public:
74 // member functions
75 // NOLINTBEGIN
76 MCAPI explicit DispenserBlockActor(::BlockPos pos);
77
78 MCAPI DispenserBlockActor(::BlockPos pos, ::BlockActorType type);
79
80 MCAPI int getRandomSlot(::Random& random);
81 // NOLINTEND
82
83public:
84 // constructor thunks
85 // NOLINTBEGIN
86 MCAPI void* $ctor(::BlockPos pos);
87
88 MCAPI void* $ctor(::BlockPos pos, ::BlockActorType type);
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCFOLD int $getContainerSize() const;
95
96 MCFOLD ::Container* $getContainer();
97
98 MCFOLD ::Container const* $getContainer() const;
99
100 MCAPI ::ItemStack const& $getItem(int slot) const;
101
102 MCAPI void $setItem(int slot, ::ItemStack const& item);
103
104 MCFOLD int $getMaxStackSize() const;
105
106 MCAPI ::std::string $getName() const;
107
108 MCAPI void $startOpen(::Actor& actor);
109
110 MCFOLD void $stopOpen(::Actor& actor);
111
112 MCAPI void $load(::ILevel& level, ::CompoundTag const& base, ::DataLoadHelper& dataLoadHelper);
113
114 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
115
116 MCFOLD void $onMove();
117
118 MCAPI void $serverInitItemStackIds(
119 int containerSlot,
120 int count,
121 ::std::function<void(int, ::ItemStack const&)> onNetIdChanged
122 );
123
124 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource&);
125
126 MCFOLD void $_onUpdatePacket(::CompoundTag const& data, ::BlockSource&);
127
128
129 // NOLINTEND
130
131public:
132 // vftables
133 // NOLINTBEGIN
134 MCAPI static void** $vftableForContainer();
135
136 MCAPI static void** $vftableForRandomizableBlockActorContainerBase();
137 // NOLINTEND
138};
Definition Actor.h:125
Definition BlockActorDataPacket.h:19
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition CompoundTag.h:23
Definition Container.h:34
Definition DataLoadHelper.h:20
Definition ILevel.h:219
Definition ItemStack.h:35
Definition Random.h:10
Definition SaveContext.h:5