LeviLamina
Loading...
Searching...
No Matches
ArmorStand.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/deps/shared_types/legacy/EquipmentSlot.h"
8#include "mc/world/actor/Mob.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
16class CompoundTag;
17class DataLoadHelper;
18class EntityContext;
19class ItemStack;
20class Player;
22// clang-format on
23
24class ArmorStand : public ::Mob {
25public:
26 // ArmorStand inner types declare
27 // clang-format off
28 struct Pose;
29 // clang-format on
30
31 // ArmorStand inner types define
32 struct Pose {
33 public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<4, 12, ::Vec3> mHeadPose;
37 ::ll::TypedStorage<4, 12, ::Vec3> mBodyPose;
38 ::ll::TypedStorage<4, 12, ::Vec3> mRightArmPose;
39 ::ll::TypedStorage<4, 12, ::Vec3> mLeftArmPose;
40 ::ll::TypedStorage<4, 12, ::Vec3> mRightLegPose;
41 ::ll::TypedStorage<4, 12, ::Vec3> mLeftLegPose;
42 ::ll::TypedStorage<4, 12, ::Vec3> mRightItemPose;
43 // NOLINTEND
44 };
45
46public:
47 // member variables
48 // NOLINTBEGIN
49 ::ll::TypedStorage<8, 8, uint64> mLastHit;
50 ::ll::TypedStorage<4, 4, int> mLastCircuitStrength;
51 // NOLINTEND
52
53public:
54 // prevent constructor by default
55 ArmorStand();
56
57public:
58 // virtual functions
59 // NOLINTBEGIN
60 virtual float getShadowRadius() const /*override*/;
61
62 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
63
64 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
65
66 virtual bool getInteraction(::Player& player, ::ActorInteraction& interaction, ::Vec3 const& location) /*override*/;
67
68 virtual void kill() /*override*/;
69
70 virtual void die(::ActorDamageSource const& source) /*override*/;
71
72 virtual bool _hurt(::ActorDamageSource const& source, float, bool, bool) /*override*/;
73
74 virtual void normalTick() /*override*/;
75
76 virtual void pushActors() /*override*/;
77
78 virtual bool isInvulnerableTo(::ActorDamageSource const& source) const /*override*/;
79
80 virtual ~ArmorStand() /*override*/ = default;
81 // NOLINTEND
82
83public:
84 // member functions
85 // NOLINTBEGIN
86 MCAPI ArmorStand(
87 ::ActorDefinitionGroup* definitions,
88 ::ActorDefinitionIdentifier const& definitionName,
89 ::EntityContext& entityContext
90 );
91
92 MCAPI void _causeDamage(float damage);
93
94 MCAPI void _destroyWithEffects(::Actor* sourceActor);
95
96 MCAPI void _dropHeldItems();
97
98 MCAPI void _dropHeldItemsAndResource();
99
100 MCAPI void _dropItem(::ItemStack const& item);
101
102 MCAPI bool _trySwapItem(::Player& player, ::SharedTypes::Legacy::EquipmentSlot slot);
103
104 MCAPI void setPoseIndex(int poseIndex);
105 // NOLINTEND
106
107public:
108 // static variables
109 // NOLINTBEGIN
110 MCAPI static ::ArmorStand::Pose const& POSE_ATHENA();
111
112 MCAPI static ::ArmorStand::Pose const& POSE_BRANDISH();
113
114 MCAPI static ::ArmorStand::Pose const& POSE_CANCAN_A();
115
116 MCAPI static ::ArmorStand::Pose const& POSE_CANCAN_B();
117
118 MCAPI static ::ArmorStand::Pose const& POSE_DEFAULT();
119
120 MCAPI static ::ArmorStand::Pose const& POSE_ENTERTAIN();
121
122 MCAPI static ::ArmorStand::Pose const& POSE_HERO();
123
124 MCAPI static ::ArmorStand::Pose const& POSE_HONOR();
125
126 MCAPI static ::ArmorStand::Pose const& POSE_RIPOSTE();
127
128 MCAPI static ::ArmorStand::Pose const& POSE_SALUTE();
129
130 MCAPI static ::ArmorStand::Pose const& POSE_SOLEMN();
131
132 MCAPI static ::ArmorStand::Pose const& POSE_ZERO_ROTATION();
133
134 MCAPI static ::ArmorStand::Pose const& POSE_ZOMBIE();
135 // NOLINTEND
136
137public:
138 // constructor thunks
139 // NOLINTBEGIN
140 MCAPI void* $ctor(
141 ::ActorDefinitionGroup* definitions,
142 ::ActorDefinitionIdentifier const& definitionName,
143 ::EntityContext& entityContext
144 );
145 // NOLINTEND
146
147public:
148 // virtual function thunks
149 // NOLINTBEGIN
150 MCFOLD float $getShadowRadius() const;
151
152 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
153
154 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
155
156 MCAPI bool $getInteraction(::Player& player, ::ActorInteraction& interaction, ::Vec3 const& location);
157
158 MCAPI void $kill();
159
160 MCAPI void $die(::ActorDamageSource const& source);
161
162 MCAPI bool $_hurt(::ActorDamageSource const& source, float, bool, bool);
163
164 MCAPI void $normalTick();
165
166 MCAPI void $pushActors();
167
168 MCFOLD bool $isInvulnerableTo(::ActorDamageSource const& source) const;
169
170
171 // NOLINTEND
172
173public:
174 // vftables
175 // NOLINTBEGIN
176 MCNAPI static void** $vftable();
177 // NOLINTEND
178};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:35
Definition ActorInteraction.h:5
Definition Actor.h:105
static MCAPI void ** $vftable()
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition EntityContext.h:16
Definition ItemStack.h:26
Definition Player.h:125
Definition Vec3.h:10
Definition ActorDefinitionIdentifier.h:15
Definition ArmorStand.h:32