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;
15class ActorHurtResult;
17class CompoundTag;
18class DataLoadHelper;
19class EntityContext;
21class Player;
23// clang-format on
24
25class ArmorStand : public ::Mob {
26public:
27 // ArmorStand inner types declare
28 // clang-format off
29 struct Pose;
30 // clang-format on
31
32 // ArmorStand inner types define
33 struct Pose {
34 public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<4, 12, ::Vec3> mHeadPose;
38 ::ll::TypedStorage<4, 12, ::Vec3> mBodyPose;
39 ::ll::TypedStorage<4, 12, ::Vec3> mRightArmPose;
40 ::ll::TypedStorage<4, 12, ::Vec3> mLeftArmPose;
41 ::ll::TypedStorage<4, 12, ::Vec3> mRightLegPose;
42 ::ll::TypedStorage<4, 12, ::Vec3> mLeftLegPose;
43 ::ll::TypedStorage<4, 12, ::Vec3> mRightItemPose;
44 // NOLINTEND
45 };
46
47public:
48 // member variables
49 // NOLINTBEGIN
50 ::ll::TypedStorage<8, 8, uint64> mLastHit;
51 ::ll::TypedStorage<4, 4, int> mLastCircuitStrength;
52 // NOLINTEND
53
54public:
55 // prevent constructor by default
56 ArmorStand();
57
58public:
59 // virtual functions
60 // NOLINTBEGIN
61 virtual float getShadowRadius() const /*override*/;
62
63 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
64
65 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
66
67 virtual ::InteractionResult
68 getInteraction(::Player& player, ::ActorInteraction& interaction, ::Vec3 const& location) /*override*/;
69
70 virtual void kill() /*override*/;
71
72 virtual void die(::ActorDamageSource const& source) /*override*/;
73
74 virtual ::ActorHurtResult _hurt(::ActorDamageSource const& source, float, bool, bool) /*override*/;
75
76 virtual void normalTick() /*override*/;
77
78 virtual void pushActors() /*override*/;
79
80 virtual bool isInvulnerableTo(::ActorDamageSource const& source) const /*override*/;
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 _hurtByProjectile(::Actor& sourceActor);
101
102 MCAPI bool _trySwapItem(::Player& player, ::SharedTypes::Legacy::EquipmentSlot slot);
103
104 MCAPI void _updatePoseFromSynchedData();
105
106 MCAPI ::std::unique_ptr<::CompoundTag> _writePose() const;
107
108 MCAPI void setPoseIndex(int poseIndex);
109 // NOLINTEND
110
111public:
112 // static variables
113 // NOLINTBEGIN
114 MCAPI static ::ArmorStand::Pose const& POSE_ATHENA();
115
116 MCAPI static ::ArmorStand::Pose const& POSE_BRANDISH();
117
118 MCAPI static ::ArmorStand::Pose const& POSE_CANCAN_A();
119
120 MCAPI static ::ArmorStand::Pose const& POSE_CANCAN_B();
121
122 MCAPI static ::ArmorStand::Pose const& POSE_DEFAULT();
123
124 MCAPI static ::ArmorStand::Pose const& POSE_ENTERTAIN();
125
126 MCAPI static ::ArmorStand::Pose const& POSE_HERO();
127
128 MCAPI static ::ArmorStand::Pose const& POSE_HONOR();
129
130 MCAPI static ::ArmorStand::Pose const& POSE_RIPOSTE();
131
132 MCAPI static ::ArmorStand::Pose const& POSE_SALUTE();
133
134 MCAPI static ::ArmorStand::Pose const& POSE_SOLEMN();
135
136 MCAPI static ::ArmorStand::Pose const& POSE_ZERO_ROTATION();
137
138 MCAPI static ::ArmorStand::Pose const& POSE_ZOMBIE();
139 // NOLINTEND
140
141public:
142 // constructor thunks
143 // NOLINTBEGIN
144 MCAPI void* $ctor(
145 ::ActorDefinitionGroup* definitions,
146 ::ActorDefinitionIdentifier const& definitionName,
147 ::EntityContext& entityContext
148 );
149 // NOLINTEND
150
151public:
152 // virtual function thunks
153 // NOLINTBEGIN
154 MCFOLD float $getShadowRadius() const;
155
156 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
157
158 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
159
160 MCAPI ::InteractionResult
161 $getInteraction(::Player& player, ::ActorInteraction& interaction, ::Vec3 const& location);
162
163 MCAPI void $kill();
164
165 MCAPI void $die(::ActorDamageSource const& source);
166
167 MCAPI ::ActorHurtResult $_hurt(::ActorDamageSource const& source, float, bool, bool);
168
169 MCAPI void $normalTick();
170
171 MCAPI void $pushActors();
172
173 MCFOLD bool $isInvulnerableTo(::ActorDamageSource const& source) const;
174
175
176 // NOLINTEND
177
178public:
179 // vftables
180 // NOLINTBEGIN
181 MCAPI static void** $vftable();
182 // NOLINTEND
183};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:37
Definition ActorHurtResult.h:5
Definition ActorInteraction.h:8
Definition Actor.h:125
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition EntityContext.h:17
Definition InteractionResult.h:5
Definition Player.h:137
Definition Vec3.h:10
STL namespace.
Definition ActorDefinitionIdentifier.h:15
Definition ArmorStand.h:33