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