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/world/level/block/actor/ChestBlockActor.h"
7
8// auto generated forward declare list
9// clang-format off
10class AABB;
11class Actor;
13class BlockSource;
14class CompoundTag;
15class DataLoadHelper;
16class ILevel;
17class ItemStack;
18class ItemStackBase;
19class Player;
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: 26
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: 7
54 virtual void tick(::BlockSource& region) /*override*/;
55
56 // vIndex: 29
57 virtual bool canPushInItem(int slot, int face, ::ItemStack const& item) const /*override*/;
58
59 // vIndex: 22
60 virtual void startOpen(::Player& player) /*override*/;
61
62 // vIndex: 23
63 virtual void stopOpen(::Player& player) /*override*/;
64
65 // vIndex: 43
66 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource&) /*override*/;
67
68 // vIndex: 44
69 virtual void _onUpdatePacket(::CompoundTag const& data, ::BlockSource& region) /*override*/;
70
71 // vIndex: 49
72 virtual void playOpenSound(::BlockSource& region) /*override*/;
73
74 // vIndex: 50
75 virtual void playCloseSound(::BlockSource& region) /*override*/;
76
77 // vIndex: 52
78 virtual ::AABB getObstructionAABB() const /*override*/;
79
80 // vIndex: 53
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 // destructor thunk
105 // NOLINTBEGIN
106
107 // NOLINTEND
108
109public:
110 // virtual function thunks
111 // NOLINTBEGIN
112 MCAPI ::std::string $getName() const;
113
114 MCFOLD int $getMaxStackSize() const;
115
116 MCAPI void $onPlace(::BlockSource& region);
117
118 MCAPI void $load(::ILevel& level, ::CompoundTag const& base, ::DataLoadHelper& dataLoadHelper);
119
120 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
121
122 MCAPI void $tick(::BlockSource& region);
123
124 MCAPI bool $canPushInItem(int slot, int face, ::ItemStack const& item) const;
125
126 MCAPI void $startOpen(::Player& player);
127
128 MCAPI void $stopOpen(::Player& player);
129
130 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource&);
131
132 MCFOLD void $_onUpdatePacket(::CompoundTag const& data, ::BlockSource& region);
133
134 MCAPI void $playOpenSound(::BlockSource& region);
135
136 MCAPI void $playCloseSound(::BlockSource& region);
137
138 MCAPI ::AABB $getObstructionAABB() const;
139
140 MCFOLD bool $_detectEntityObstruction(::BlockSource& region) const;
141 // NOLINTEND
142
143public:
144 // vftables
145 // NOLINTBEGIN
146 MCAPI static void** $vftableForFillingContainer();
147
148 MCAPI static void** $vftableForRandomizableBlockActorContainerBase();
149 // NOLINTEND
150};
Definition AABB.h:16
Definition Actor.h:104
Definition BlockActorDataPacket.h:19
Definition BlockSource.h:67
Definition ChestBlockActor.h:28
Definition CompoundTag.h:13
Definition DataLoadHelper.h:20
Definition ILevel.h:203
Definition ItemStackBase.h:35
Definition ItemStack.h:25
Definition Player.h:119
Definition SaveContext.h:5
Definition ShulkerBoxBlockActor.h:24
Definition Vec3.h:10