LeviLamina
Loading...
Searching...
No Matches
ShulkerBoxBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
7#include "mc/world/level/block/actor/ChestBlockActor.h"
8
9// auto generated forward declare list
10// clang-format off
11class AABB;
12class Actor;
14class BlockPos;
15class BlockSource;
16class CompoundTag;
17class DataLoadHelper;
18class ILevel;
19class ItemStack;
20class ItemStackBase;
21class SaveContext;
22// clang-format on
23
24class ShulkerBoxBlockActor : public ::ChestBlockActor {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<1, 1, uchar> mFacing;
29 ::ll::TypedStorage<1, 1, bool> mFacingChanged;
30 // NOLINTEND
31
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual ~ShulkerBoxBlockActor() /*override*/ = default;
36
37 virtual ::std::string getName() const /*override*/;
38
39 virtual int getMaxStackSize() const /*override*/;
40
41 virtual void onPlace(::BlockSource& region) /*override*/;
42
43 virtual void load(::ILevel& level, ::CompoundTag const& base, ::DataLoadHelper& dataLoadHelper) /*override*/;
44
45 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
46
47 virtual void tick(::BlockSource& region) /*override*/;
48
49 virtual bool canPushInItem(int slot, int face, ::ItemStack const& item) const /*override*/;
50
51 virtual void startOpen(::Actor& actor) /*override*/;
52
53 virtual void stopOpen(::Actor& actor) /*override*/;
54
55 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource& region) /*override*/;
56
57 virtual void _onUpdatePacket(::CompoundTag const& data, ::BlockSource& region) /*override*/;
58
59 virtual ::SharedTypes::Legacy::LevelSoundEvent getOpenSound() const /*override*/;
60
61 virtual ::SharedTypes::Legacy::LevelSoundEvent getCloseSound() const /*override*/;
62
63 virtual ::AABB getObstructionAABB() const /*override*/;
64
65 virtual bool _detectEntityObstruction(::BlockSource& region) const /*override*/;
66 // NOLINTEND
67
68public:
69 // static functions
70 // NOLINTBEGIN
71 MCAPI static ::std::unique_ptr<::ShulkerBoxBlockActor> createShulkerBoxBlockEntity(::BlockPos const& pos);
72
73#ifdef LL_PLAT_C
74 MCAPI static bool itemAllowedInSlot(int, ::ItemStackBase const& item, int);
75#endif
76 // NOLINTEND
77
78public:
79 // virtual function thunks
80 // NOLINTBEGIN
81 MCAPI ::std::string $getName() const;
82
83 MCFOLD int $getMaxStackSize() const;
84
85 MCAPI void $onPlace(::BlockSource& region);
86
87 MCAPI void $load(::ILevel& level, ::CompoundTag const& base, ::DataLoadHelper& dataLoadHelper);
88
89 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
90
91 MCAPI void $tick(::BlockSource& region);
92
93 MCAPI bool $canPushInItem(int slot, int face, ::ItemStack const& item) const;
94
95 MCAPI void $startOpen(::Actor& actor);
96
97 MCAPI void $stopOpen(::Actor& actor);
98
99 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource& region);
100
101 MCFOLD void $_onUpdatePacket(::CompoundTag const& data, ::BlockSource& region);
102
103 MCFOLD ::SharedTypes::Legacy::LevelSoundEvent $getOpenSound() const;
104
105 MCFOLD ::SharedTypes::Legacy::LevelSoundEvent $getCloseSound() const;
106
107 MCAPI ::AABB $getObstructionAABB() const;
108
109 MCFOLD bool $_detectEntityObstruction(::BlockSource& region) const;
110
111
112 // NOLINTEND
113
114public:
115 // vftables
116 // NOLINTBEGIN
118
120
121 MCNAPI static void** $vftable();
122
123 MCNAPI static void** $vftableForBlockActor();
124
126 // NOLINTEND
127};
Definition AABB.h:18
Definition Actor.h:113
Definition BlockActorDataPacket.h:19
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition ILevel.h:221
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition SaveContext.h:5
Definition ShulkerBoxBlockActor.h:24
static MCAPI void ** $vftableForIVanillaTickBlockActorComponent()
static MCAPI void ** $vftableForIVanillaMainBlockActorComponent()
static MCAPI void ** $vftableForBlockActor()
static MCAPI void ** $vftableForIVanillaRenderBlockActorComponent()
static MCAPI void ** $vftable()