LeviLamina
Loading...
Searching...
No Matches
ItemActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/Actor.h"
7#include "mc/world/actor/ActorEvent.h"
8#include "mc/world/actor/ActorInitializationMethod.h"
9#include "mc/world/item/ItemStack.h"
10
11// auto generated forward declare list
12// clang-format off
13class AABB;
16class ActorHurtResult;
17class BlockSource;
18class CompoundTag;
19class DataLoadHelper;
20class EntityContext;
21class ListTag;
22class Packet;
23class Player;
24class Vec3;
27struct ActorUniqueID;
29// clang-format on
30
31class ItemActor : public ::Actor {
32protected:
33 // ItemActor inner types declare
34 // clang-format off
36 // clang-format on
37
38 // ItemActor inner types define
40 public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<1, 1, bool> mUseAdjustments;
44 ::ll::TypedStorage<4, 4, float> mFirstRenderedYaw;
45 // NOLINTEND
46 };
47
48public:
49 // member variables
50 // NOLINTBEGIN
51 ::ll::TypedStorage<8, 152, ::ItemStack> mItem;
52 ::ll::TypedStorage<4, 4, int> mAge;
53 ::ll::TypedStorage<4, 4, int> mPickupDelay;
54 ::ll::TypedStorage<4, 4, int> mThrowTime;
55 ::ll::TypedStorage<4, 4, float> mBobOffs;
56 ::ll::TypedStorage<4, 4, int> mHealth;
57 ::ll::TypedStorage<4, 4, int> mLifeTime;
58 ::ll::TypedStorage<1, 1, bool> mIsInItemFrame;
59 ::ll::TypedStorage<1, 1, bool> mIsFromFishing;
60 ::ll::TypedStorage<4, 12, ::std::optional<::ItemActor::ItemRenderAdjustments>> mRenderAdjustments;
61 // NOLINTEND
62
63public:
64 LLNDAPI ItemStack& item();
65 LLNDAPI ItemStack const& item() const;
66 LLNDAPI int& age();
67 LLNDAPI int const& age() const;
68 LLNDAPI int& pickupDelay();
69 LLNDAPI int const& pickupDelay() const;
70 LLNDAPI int& throwTime();
71 LLNDAPI int const& throwTime() const;
72 LLNDAPI float& bobOffs();
73 LLNDAPI float const& bobOffs() const;
74 LLNDAPI int& health();
75 LLNDAPI int const& health() const;
76 LLNDAPI int& lifeTime();
77 LLNDAPI int const& lifeTime() const;
78 LLNDAPI bool& isInItemFrame();
79 LLNDAPI bool const& isInItemFrame() const;
80 LLNDAPI bool& isFromFishing();
81 LLNDAPI bool const& isFromFishing() const;
82 LLNDAPI static ItemActor* tryGetFromEntity(::EntityContext& entity, bool includeRemoved);
83
84public:
85 // virtual functions
86 // NOLINTBEGIN
87 virtual void reloadHardcoded(::ActorInitializationMethod, ::VariantParameterList const&) /*override*/;
88
89 virtual ~ItemActor() /*override*/ = default;
90
91 virtual void playerTouch(::Player& player) /*override*/;
92
93 virtual ::std::unique_ptr<::Packet> tryCreateAddActorPacket() /*override*/;
94
95 virtual ::ActorUniqueID getSourceUniqueID() const /*override*/;
96
97 virtual bool isInvulnerableTo(::ActorDamageSource const& source) const /*override*/;
98
99 virtual bool canSynchronizeNewEntity() const /*override*/;
100
101 virtual void handleEntityEvent(::ActorEvent eventId, int data) /*override*/;
102
103 virtual bool isFireImmune() const /*override*/;
104
105 virtual ::ActorHurtResult _hurt(::ActorDamageSource const& damage, float, bool, bool) /*override*/;
106
107 virtual void addAdditionalSaveData(::CompoundTag& entityTag) const /*override*/;
108
109 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
110 // NOLINTEND
111
112public:
113 // member functions
114 // NOLINTBEGIN
115 MCAPI ItemActor(
116 ::ActorDefinitionGroup* definitions,
117 ::ActorDefinitionIdentifier const& definitionName,
118 ::EntityContext& entityContext
119 );
120
121 MCAPI void _addComponents();
122
123 MCAPI void _dropContents();
124
125 MCAPI void _dropItemList(::ListTag* itemList);
126
127 MCAPI bool _merge(::ItemActor* target);
128
129 MCAPI void _mergeWithNeighbours();
130
131 MCAPI void _validateItem();
132
133#ifdef LL_PLAT_C
134 MCAPI void clientInitialize(
135 ::BlockSource& region,
136 ::Vec3 const& pos,
137 ::ItemStack const& item,
138 int throwTime,
139 bool isInItemFrame,
140 bool isFromFishing
141 );
142
143 MCFOLD ::std::optional<::ItemActor::ItemRenderAdjustments> const& getRenderAdjustments() const;
144
145 MCFOLD ::std::optional<::ItemActor::ItemRenderAdjustments>& getRenderAdjustments();
146#endif
147
148 MCAPI void postNormalTick();
149
150 MCAPI void setSourceEntity(::Actor const* owner);
151 // NOLINTEND
152
153public:
154 // static functions
155 // NOLINTBEGIN
156 MCAPI static ::AABB getLiquidAABB(::AABBShapeComponent const& aabbShapeComponent);
157 // NOLINTEND
158
159public:
160 // constructor thunks
161 // NOLINTBEGIN
162 MCAPI void* $ctor(
163 ::ActorDefinitionGroup* definitions,
164 ::ActorDefinitionIdentifier const& definitionName,
165 ::EntityContext& entityContext
166 );
167 // NOLINTEND
168
169public:
170 // virtual function thunks
171 // NOLINTBEGIN
172 MCAPI void $reloadHardcoded(::ActorInitializationMethod, ::VariantParameterList const&);
173
174 MCAPI void $playerTouch(::Player& player);
175
176 MCAPI ::std::unique_ptr<::Packet> $tryCreateAddActorPacket();
177
178 MCFOLD ::ActorUniqueID $getSourceUniqueID() const;
179
180 MCAPI bool $isInvulnerableTo(::ActorDamageSource const& source) const;
181
182 MCAPI bool $canSynchronizeNewEntity() const;
183
184 MCAPI void $handleEntityEvent(::ActorEvent eventId, int data);
185
186 MCAPI bool $isFireImmune() const;
187
188 MCAPI ::ActorHurtResult $_hurt(::ActorDamageSource const& damage, float, bool, bool);
189
190 MCAPI void $addAdditionalSaveData(::CompoundTag& entityTag) const;
191
192 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
193
194
195 // NOLINTEND
196
197public:
198 // vftables
199 // NOLINTBEGIN
200 MCAPI static void** $vftable();
201 // NOLINTEND
202};
Definition AABB.h:18
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:37
Definition ActorHurtResult.h:5
Definition BlockSource.h:73
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition EntityContext.h:17
Definition ItemStack.h:35
Definition ListTag.h:21
Definition Packet.h:31
Definition Player.h:137
Definition Vec3.h:10
Definition AABBShapeComponent.h:9
Definition ActorDefinitionIdentifier.h:15
Definition ActorUniqueID.h:10
Definition ItemActor.h:39
Definition VariantParameterList.h:14