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 // 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 _isPosOccupiedByOtherShulker(::BlockPos blockPos) const;
70
71 MCAPI void _peekAmountTick();
72
73 MCAPI bool _tryAttachingToNeighbouringFaces(::BlockPos currentPos);
74
75 MCAPI bool _trySetNewAttachPosition(::BlockPos pos);
76
77 MCAPI void _trySpawnShulker();
78
79 MCAPI bool _tryTeleportSomewhere();
80
81 MCAPI void postNormalTick();
82 // NOLINTEND
83
84public:
85 // static functions
86 // NOLINTBEGIN
87 MCAPI static void applyShulkerBounds(::ShulkerBounds const& bounds, ::EntityContext& shulker);
88
89 MCAPI static ::ShulkerBounds computeShulkerBounds(::ShulkerBoundsInput const& input);
90
91 MCAPI static void
92 postSetPosSetShulkerAttachPosAndPeekAmount(::SynchedActorDataWriter data, ::BlockPos const& newAttachPos);
93
94 MCAPI static void setShulkerAttachPos(::SynchedActorDataWriter data, ::BlockPos const& pos);
95 // NOLINTEND
96
97public:
98 // constructor thunks
99 // NOLINTBEGIN
100 MCAPI void* $ctor(
101 ::ActorDefinitionGroup* definitions,
102 ::ActorDefinitionIdentifier const& definitionName,
103 ::EntityContext& entityContext
104 );
105 // NOLINTEND
106
107public:
108 // virtual function thunks
109 // NOLINTBEGIN
110 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
111
112 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
113
114 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
115
116 MCAPI bool $isInvulnerableTo(::ActorDamageSource const& source) const;
117
118 MCAPI bool $checkSpawnRules(bool);
119
120 MCAPI int $getArmorValue() const;
121
122 MCFOLD void $_doInitialMove();
123
124 MCFOLD ::std::unique_ptr<::BodyControl> $initBodyControl();
125
126 MCFOLD float $getShadowRadius() const;
127
128 MCFOLD float $getMaxHeadXRot();
129
130 MCAPI ::ActorHurtResult $_hurt(::ActorDamageSource const& source, float damage, bool knock, bool ignite);
131
132
133 // NOLINTEND
134
135public:
136 // vftables
137 // NOLINTBEGIN
138 MCAPI static void** $vftable();
139 // NOLINTEND
140};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:37
Definition ActorHurtResult.h:5
Definition BlockPos.h:21
Definition BodyControl.h:13
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition EntityContext.h:17
Definition SynchedActorDataWriter.h:17
Definition ActorDefinitionIdentifier.h:15
Definition ShulkerBoundsInput.h:8
Definition ShulkerBounds.h:9
Definition VariantParameterList.h:14