LeviLamina
Loading...
Searching...
No Matches
Shulker.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/ActorInitializationMethod.h"
7#include "mc/world/actor/Mob.h"
8
9// auto generated forward declare list
10// clang-format off
14class BlockPos;
15class BodyControl;
16class CompoundTag;
17class DataLoadHelper;
18class EntityContext;
21struct ShulkerBounds;
24namespace mce { class UUID; }
25// clang-format on
26
27class Shulker : public ::Mob {
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 // vIndex: 2
32 virtual void reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
33
34 // vIndex: 137
35 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
36
37 // vIndex: 136
38 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
39
40 // vIndex: 64
41 virtual bool isInvulnerableTo(::ActorDamageSource const& source) const /*override*/;
42
43 // vIndex: 147
44 virtual bool checkSpawnRules(bool) /*override*/;
45
46 // vIndex: 155
47 virtual int getArmorValue() const /*override*/;
48
49 // vIndex: 7
50 virtual void _doInitialMove() /*override*/;
51
52 // vIndex: 174
53 virtual ::std::unique_ptr<::BodyControl> initBodyControl() /*override*/;
54
55 // vIndex: 35
56 virtual float getShadowRadius() const /*override*/;
57
58 // vIndex: 152
59 virtual float getMaxHeadXRot() /*override*/;
60
61 // vIndex: 135
62 virtual bool _hurt(::ActorDamageSource const& source, float damage, bool knock, bool ignite) /*override*/;
63
64 // vIndex: 8
65 virtual ~Shulker() /*override*/ = default;
66 // NOLINTEND
67
68public:
69 // member functions
70 // NOLINTBEGIN
71 MCAPI Shulker(
72 ::ActorDefinitionGroup* definitions,
73 ::ActorDefinitionIdentifier const& definitionName,
74 ::EntityContext& entityContext
75 );
76
77 MCAPI void _calculateBB();
78
79 MCAPI bool _canOpenLidAt(::BlockPos position, uchar direction) const;
80
81 MCAPI bool _getAttached() const;
82
83 MCAPI bool _isPosOccupiedByOtherShulker(::BlockPos blockPos) const;
84
85 MCAPI bool _isValidAttach(::BlockPos attachPos, uchar direction);
86
87 MCAPI void _peekAmountTick();
88
89 MCAPI bool _tryAttachingToNeighbouringFaces(::BlockPos currentPos);
90
91 MCAPI bool _trySetNewAttachPosition(::BlockPos pos);
92
93 MCAPI void _trySpawnShulker();
94
95 MCAPI bool _tryTeleportSomewhere();
96
97 MCAPI void postNormalTick();
98 // NOLINTEND
99
100public:
101 // static functions
102 // NOLINTBEGIN
103 MCAPI static void applyShulkerBounds(::ShulkerBounds const& bounds, ::EntityContext& shulker);
104
105 MCAPI static ::ShulkerBounds computeShulkerBounds(::ShulkerBoundsInput const& input);
106
107 MCAPI static void setShulkerAttachPos(::SynchedActorDataWriter data, ::BlockPos const& pos);
108 // NOLINTEND
109
110public:
111 // static variables
112 // NOLINTBEGIN
113 MCAPI static ::std::shared_ptr<::AttributeModifier>& COVERED_ARMOR_MODIFIER();
114
115 MCAPI static ::mce::UUID const& COVERED_ARMOR_MODIFIER_UUID();
116 // NOLINTEND
117
118public:
119 // constructor thunks
120 // NOLINTBEGIN
121 MCAPI void* $ctor(
122 ::ActorDefinitionGroup* definitions,
123 ::ActorDefinitionIdentifier const& definitionName,
124 ::EntityContext& entityContext
125 );
126 // NOLINTEND
127
128public:
129 // destructor thunk
130 // NOLINTBEGIN
131
132 // NOLINTEND
133
134public:
135 // virtual function thunks
136 // NOLINTBEGIN
137 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
138
139 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
140
141 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
142
143 MCAPI bool $isInvulnerableTo(::ActorDamageSource const& source) const;
144
145 MCAPI bool $checkSpawnRules(bool);
146
147 MCAPI int $getArmorValue() const;
148
149 MCFOLD void $_doInitialMove();
150
151 MCFOLD ::std::unique_ptr<::BodyControl> $initBodyControl();
152
153 MCFOLD float $getShadowRadius() const;
154
155 MCFOLD float $getMaxHeadXRot();
156
157 MCAPI bool $_hurt(::ActorDamageSource const& source, float damage, bool knock, bool ignite);
158 // NOLINTEND
159
160public:
161 // vftables
162 // NOLINTBEGIN
163 MCAPI static void** $vftable();
164 // NOLINTEND
165};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:27
Definition AttributeModifier.h:14
Definition BlockPos.h:18
Definition BodyControl.h:13
Definition CompoundTag.h:13
Definition DataLoadHelper.h:20
Definition EntityContext.h:16
Definition Mob.h:47
Definition Shulker.h:27
Definition SynchedActorDataWriter.h:5
Definition ActorDefinitionIdentifier.h:13
Definition ShulkerBoundsInput.h:5
Definition ShulkerBounds.h:5
Definition VariantParameterList.h:5