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 HurtParameters;
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 ::ActorHurtResult
54 _hurt(::ActorDamageSource const& source, float damage, ::HurtParameters const& hurtParameters) /*override*/;
55 // NOLINTEND
56
57public:
58 // member functions
59 // NOLINTBEGIN
60 MCAPI Shulker(
61 ::ActorDefinitionGroup* definitions,
62 ::ActorDefinitionIdentifier const& definitionName,
63 ::EntityContext& entityContext
64 );
65
66 MCAPI void _calculateBB();
67
68 MCAPI bool _isPosOccupiedByOtherShulker(::BlockPos blockPos) const;
69
70 MCAPI void _peekAmountTick();
71
72 MCAPI bool _tryAttachingToNeighbouringFaces(::BlockPos currentPos);
73
74 MCAPI bool _trySetNewAttachPosition(::BlockPos pos);
75
76 MCAPI bool _tryTeleportSomewhere();
77
78 MCAPI void postNormalTick();
79 // NOLINTEND
80
81public:
82 // static functions
83 // NOLINTBEGIN
84 MCAPI static void
85 postSetPosSetShulkerAttachPosAndPeekAmount(::SynchedActorDataWriter data, ::BlockPos const& newAttachPos);
86
87 MCAPI static void setShulkerAttachPos(::SynchedActorDataWriter data, ::BlockPos const& pos);
88 // NOLINTEND
89
90public:
91 // constructor thunks
92 // NOLINTBEGIN
93 MCAPI void* $ctor(
94 ::ActorDefinitionGroup* definitions,
95 ::ActorDefinitionIdentifier const& definitionName,
96 ::EntityContext& entityContext
97 );
98 // NOLINTEND
99
100public:
101 // virtual function thunks
102 // NOLINTBEGIN
103 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
104
105 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
106
107 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
108
109 MCAPI bool $isInvulnerableTo(::ActorDamageSource const& source) const;
110
111 MCAPI bool $checkSpawnRules(bool);
112
113 MCAPI int $getArmorValue() const;
114
115 MCFOLD void $_doInitialMove();
116
117 MCFOLD ::std::unique_ptr<::BodyControl> $initBodyControl();
118
119 MCFOLD float $getShadowRadius() const;
120
121 MCAPI float $getMaxHeadXRot();
122
123 MCAPI ::ActorHurtResult
124 $_hurt(::ActorDamageSource const& source, float damage, ::HurtParameters const& hurtParameters);
125
126
127 // NOLINTEND
128};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:32
Definition ActorHurtResult.h:5
Definition BlockPos.h:21
Definition BodyControl.h:13
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition EntityContext.h:15
Definition SynchedActorDataWriter.h:12
Definition ActorDefinitionIdentifier.h:15
Definition HurtParameters.h:8
Definition VariantParameterList.h:13