LeviLamina
Loading...
Searching...
No Matches
ItemFrameBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/ecs/WeakEntityRef.h"
7#include "mc/world/item/ClockSpriteCalculator.h"
8#include "mc/world/item/CompassSpriteCalculator.h"
9#include "mc/world/item/ItemInstance.h"
10#include "mc/world/level/block/actor/BlockActor.h"
11#include "mc/world/level/block/actor/BlockActorType.h"
12#include "mc/world/level/block/states/BlockStateVariant.h"
13
14// auto generated forward declare list
15// clang-format off
16class Actor;
18class BlockPos;
19class BlockSource;
20class CompoundTag;
21class DataLoadHelper;
22class HashedString;
23class ILevel;
24class SaveContext;
25// clang-format on
26
27class ItemFrameBlockActor : public ::BlockActor {
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<4, 12, ::ClockSpriteCalculator> mClockSpriteCalc;
32 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mCompassSpriteCalc;
33 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mRecoveryCompassSpriteCalc;
34 ::ll::TypedStorage<1, 1, bool> mInstantClockCalculatorUpdate;
35 ::ll::TypedStorage<8, 128, ::ItemInstance> mItem;
36 ::ll::TypedStorage<4, 4, float> mDropChance;
37 ::ll::TypedStorage<4, 4, float> mRotation;
38 ::ll::TypedStorage<1, 1, bool> mUpgradeMapBit;
39 ::ll::TypedStorage<1, 1, bool> mUpgradePhotoBit;
40 ::ll::TypedStorage<1, 1, bool> mRefreshMap;
41 ::ll::TypedStorage<8, 24, ::WeakEntityRef> mDisplayEntity;
42 ::ll::TypedStorage<1, 1, bool> mIgnoreLighting;
43 // NOLINTEND
44
45public:
46 // prevent constructor by default
47 ItemFrameBlockActor();
48
49public:
50 // virtual functions
51 // NOLINTBEGIN
52 virtual void tick(::BlockSource& region) /*override*/;
53
54 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
55
56 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
57
58 virtual float getShadowRadius(::BlockSource&) const /*override*/;
59
60 virtual void onChanged(::BlockSource& region) /*override*/;
61
62 virtual void onRemoved(::BlockSource& region) /*override*/;
63
64 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource&) /*override*/;
65
66 virtual void _onUpdatePacket(::CompoundTag const& data, ::BlockSource& region) /*override*/;
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI explicit ItemFrameBlockActor(::BlockPos const& pos);
73
74 MCAPI ItemFrameBlockActor(::BlockPos const& pos, ::BlockActorType type);
75
76 MCAPI void
77 _updateBit(::BlockSource& region, ::BlockStateVariant<bool> const& vanillaState, ::HashedString const& itemName);
78
79 MCAPI void actuallyDropItem(::BlockSource& region, bool dropItem, ::Actor* entitySource);
80
81 MCAPI void dropFramedItem(::BlockSource& region, bool dropItem, ::Actor* entitySource);
82
83#ifdef LL_PLAT_C
84 MCFOLD ::ClockSpriteCalculator& getClockCalculator();
85
86 MCFOLD ::CompassSpriteCalculator& getCompassCalculator();
87#endif
88
89 MCFOLD ::ItemInstance const& getFramedItem() const;
90
91#ifdef LL_PLAT_C
92 MCFOLD ::CompassSpriteCalculator& getRecoveryCompassCalculator();
93#endif
94
95 MCFOLD float getRotation();
96
97#ifdef LL_PLAT_C
98 MCFOLD bool const ignoreLighting() const;
99#endif
100
101 MCAPI void rotateFramedItem(::BlockSource& region, ::Actor& entitySource);
102
103 MCAPI void setItem(::BlockSource& region, ::ItemInstance const& item, ::Actor* entitySource);
104
105#ifdef LL_PLAT_C
106 MCAPI ::Actor* tryGetOrCreateDisplayEntity(::BlockSource& region);
107#endif
108
109 MCAPI void updateNameTag();
110 // NOLINTEND
111
112public:
113 // static variables
114 // NOLINTBEGIN
115 MCAPI static float const& ROTATION_DEGREES();
116 // NOLINTEND
117
118public:
119 // constructor thunks
120 // NOLINTBEGIN
121 MCAPI void* $ctor(::BlockPos const& pos);
122
123 MCAPI void* $ctor(::BlockPos const& pos, ::BlockActorType type);
124 // NOLINTEND
125
126public:
127 // virtual function thunks
128 // NOLINTBEGIN
129 MCAPI void $tick(::BlockSource& region);
130
131 MCAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
132
133 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
134
135 MCFOLD float $getShadowRadius(::BlockSource&) const;
136
137 MCFOLD void $onChanged(::BlockSource& region);
138
139 MCAPI void $onRemoved(::BlockSource& region);
140
141 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource&);
142
143 MCFOLD void $_onUpdatePacket(::CompoundTag const& data, ::BlockSource& region);
144
145
146 // NOLINTEND
147
148public:
149 // vftables
150 // NOLINTBEGIN
151 MCNAPI static void** $vftable();
152 // NOLINTEND
153};
Definition Actor.h:125
Definition BlockActorDataPacket.h:19
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition BlockStateVariant.h:7
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition HashedString.h:5
Definition ILevel.h:219
static MCAPI void ** $vftable()
Definition ItemInstance.h:15
Definition SaveContext.h:5