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