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;
13class BlockActorDataPacket;
14class BlockSource;
15class CompoundTag;
16class DataLoadHelper;
17class ILevel;
18class ItemStack;
19class ItemStackBase;
20class SaveContext;
21class Vec3;
22// clang-format on
23
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 // vIndex: 0
36 virtual ~ShulkerBoxBlockActor() /*override*/ = default;
37
38 // vIndex: 25
39 virtual ::std::string getName() const /*override*/;
40
41 // vIndex: 21
42 virtual int getMaxStackSize() const /*override*/;
43
44 // vIndex: 11
45 virtual void onPlace(::BlockSource& region) /*override*/;
46
47 // vIndex: 1
48 virtual void load(::ILevel& level, ::CompoundTag const& base, ::DataLoadHelper& dataLoadHelper) /*override*/;
49
50 // vIndex: 2
51 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
52
53 // vIndex: 9
54 virtual void tick(::BlockSource& region) /*override*/;
55
56 // vIndex: 32
57 virtual bool canPushInItem(int slot, int face, ::ItemStack const& item) const /*override*/;
58
59 // vIndex: 22
60 virtual void startOpen(::Actor& actor) /*override*/;
61
62 // vIndex: 23
63 virtual void stopOpen(::Actor& actor) /*override*/;
64
65 // vIndex: 41
66 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource&) /*override*/;
67
68 // vIndex: 42
69 virtual void _onUpdatePacket(::CompoundTag const& data, ::BlockSource& region) /*override*/;
70
71 // vIndex: 50
72 virtual ::SharedTypes::Legacy::LevelSoundEvent getOpenSound() const /*override*/;
73
74 // vIndex: 51
75 virtual ::SharedTypes::Legacy::LevelSoundEvent getCloseSound() const /*override*/;
76
77 // vIndex: 48
78 virtual ::AABB getObstructionAABB() const /*override*/;
79
80 // vIndex: 49
81 virtual bool _detectEntityObstruction(::BlockSource& region) const /*override*/;
82 // NOLINTEND
83
84public:
85 // member functions
86 // NOLINTBEGIN
87 MCAPI ::Vec3 _calculateActorMovementIntoShulker(
88 ::std::vector<::AABB> const& intersectingAABBs,
89 ::AABB const& actorAabbAfterMovement
90 ) const;
91
92 MCAPI ::Vec3 _calculateMovementWithCollisions(::BlockSource& region, ::Actor* actor) const;
93
94 MCAPI void _moveCollidedEntities(::BlockSource& region) const;
95 // NOLINTEND
96
97public:
98 // static functions
99 // NOLINTBEGIN
100 MCAPI static bool itemAllowed(::ItemStackBase const& item);
101 // NOLINTEND
102
103public:
104 // virtual function thunks
105 // NOLINTBEGIN
106 MCAPI ::std::string $getName() const;
107
108 MCFOLD int $getMaxStackSize() const;
109
110 MCAPI void $onPlace(::BlockSource& region);
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 MCAPI void $tick(::BlockSource& region);
117
118 MCAPI bool $canPushInItem(int slot, int face, ::ItemStack const& item) const;
119
120 MCAPI void $startOpen(::Actor& actor);
121
122 MCAPI void $stopOpen(::Actor& actor);
123
124 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource&);
125
126 MCFOLD void $_onUpdatePacket(::CompoundTag const& data, ::BlockSource& region);
127
128 MCFOLD ::SharedTypes::Legacy::LevelSoundEvent $getOpenSound() const;
129
130 MCFOLD ::SharedTypes::Legacy::LevelSoundEvent $getCloseSound() const;
131
132 MCAPI ::AABB $getObstructionAABB() const;
133
134 MCFOLD bool $_detectEntityObstruction(::BlockSource& region) const;
135 // NOLINTEND
136
137public:
138 // vftables
139 // NOLINTBEGIN
140 MCNAPI static void** $vftableForFillingContainer();
141
143 // NOLINTEND
144};
Definition AABB.h:18
Definition Actor.h:102
Definition BlockSource.h:66
Definition ChestBlockActor.h:32
Definition CompoundTag.h:13
Definition DataLoadHelper.h:20
Definition ILevel.h:207
Definition ItemStackBase.h:34
Definition ItemStack.h:23
Definition SaveContext.h:5
Definition ShulkerBoxBlockActor.h:24
static MCAPI void ** $vftableForRandomizableBlockActorContainerBase()
static MCAPI void ** $vftableForFillingContainer()
Definition Vec3.h:10