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