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