34 enum class WitherAttackType :
int {
43 ::ll::TypedStorage<4, 4, int> MAX_SHIELD_HEALTH;
44 ::ll::TypedStorage<4, 4, int> mShieldHealth;
45 ::ll::TypedStorage<4, 24, ::Vec2[3]> mHeadRots;
46 ::ll::TypedStorage<4, 24, ::Vec2[3]> mOldHeadRots;
47 ::ll::TypedStorage<4, 12, int[3]> mNextHeadUpdate;
48 ::ll::TypedStorage<4, 12, int[3]> mIdleHeadUpdates;
49 ::ll::TypedStorage<4, 4, int> mDestroyBlocksTick;
50 ::ll::TypedStorage<4, 4, int> mHealthThreshold;
51 ::ll::TypedStorage<4, 4, int> mPhase;
52 ::ll::TypedStorage<1, 1, bool> mWantsToExplode;
53 ::ll::TypedStorage<1, 1, bool> mCharging;
54 ::ll::TypedStorage<4, 12, ::Vec3> mChargeDirection;
55 ::ll::TypedStorage<4, 4, int> mChargeFrames;
56 ::ll::TypedStorage<4, 4, int> mPreparingCharge;
57 ::ll::TypedStorage<4, 4, int> mProjectileCounter;
58 ::ll::TypedStorage<4, 4, int> mSpawningFrames;
59 ::ll::TypedStorage<4, 4, int> mTimeTillNextShot;
60 ::ll::TypedStorage<4, 4, int> mFireRate;
61 ::ll::TypedStorage<4, 4, float> mSpinSpeed;
62 ::ll::TypedStorage<4, 4, int> mStunTimer;
63 ::ll::TypedStorage<4, 4, int> mFramesTillMove;
64 ::ll::TypedStorage<1, 1, bool> mWantsMove;
65 ::ll::TypedStorage<1, 1, bool> mIsPathing;
66 ::ll::TypedStorage<4, 4, int> mMaxHealth;
67 ::ll::TypedStorage<4, 4, int> mNumSkeletons;
68 ::ll::TypedStorage<4, 4, int> mMaxSkeletons;
69 ::ll::TypedStorage<4, 4, int> mMovementTime;
70 ::ll::TypedStorage<4, 4, int> mHealthIntervals;
71 ::ll::TypedStorage<4, 4, int> mLastHealthValue;
72 ::ll::TypedStorage<4, 4, int> mDelayShot;
73 ::ll::TypedStorage<4, 4, int> mTimeSinceLastShot;
74 ::ll::TypedStorage<4, 4, float> mAttackRange;
75 ::ll::TypedStorage<1, 1, bool> mSecondVolley;
76 ::ll::TypedStorage<4, 4, int> mMainHeadAttackCountdown;
77 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActorDamageSource>> mDeathSource;
78 ::ll::TypedStorage<4, 4, int> mlastFiredHead;
92 virtual void reloadHardcodedClient(::ActorInitializationMethod method) ;
95 virtual void aiStep() ;
98 virtual void newServerAiStep() ;
101 virtual bool canFreeze()
const ;
104 virtual bool canBeAffected(uint
id)
const ;
110 virtual void hurtEffects(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite) ;
113 virtual void addAdditionalSaveData(
::CompoundTag& tag)
const ;
122 virtual int getArmorValue()
const ;
128 virtual void remove() ;
131 virtual bool startRiding(
::Actor& vehicle,
bool forceRiding) ;
134 virtual void handleEntityEvent(::ActorEvent eventId,
int data) ;
140 virtual ::Vec3 getFiringPos()
const ;
143 virtual void tickDeath() ;
146 virtual bool _hurt(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite) ;
161 MCAPI
void _destroyBlocks(
166 ::WitherBoss::WitherAttackType attackType
169 MCAPI
void _performRangedAttack(
int headID,
::Actor& target);
171 MCAPI
void _performRangedAttack(
int headID,
::Vec3 const& targetPos,
bool dangerous);
173 MCAPI
bool canShoot();
175 MCAPI
bool getAerialAttack()
const;
177 MCAPI ::ActorUniqueID getAlternativeTarget(
int headIndex);
179 MCAPI ::Vec3 getHeadPos(
int headID)
const;
181 MCAPI
bool hasAerialAttack()
const;
183 MCAPI
void postAiStep();
185 MCAPI ::WitherBossPreAIStepResult preAiStep();
187 MCAPI
void setAerialAttack(
bool aerialAttack);
189 MCAPI
void setAlternativeTarget(
int headIndex,
::ActorUniqueID entityId);
191 MCAPI
void setInvulnerableTicks(
int invulnerableTicks);
197 MCAPI static ::mce::UUID
const& MAX_HEALTH_CAP_UUID();
215 MCAPI
void $reloadHardcodedClient(::ActorInitializationMethod method);
217 MCAPI
void $aiStep();
219 MCAPI
void $newServerAiStep();
221 MCFOLD
bool $canFreeze()
const;
223 MCAPI
bool $canBeAffected(uint
id)
const;
227 MCAPI
void $hurtEffects(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite);
235 MCAPI
int $getArmorValue()
const;
239 MCAPI
void $remove();
241 MCFOLD
bool $startRiding(
::Actor& vehicle,
bool forceRiding);
243 MCAPI
void $handleEntityEvent(::ActorEvent eventId,
int data);
247 MCAPI ::Vec3 $getFiringPos()
const;
249 MCFOLD
void $tickDeath();
251 MCAPI
bool $_hurt(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite);
Definition EntityContext.h:16