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