34class WitherBoss :
public ::Monster {
37 enum class WitherAttackType :
int {
46 ::ll::TypedStorage<4, 4, int> MAX_SHIELD_HEALTH;
47 ::ll::TypedStorage<4, 4, int> mShieldHealth;
48 ::ll::TypedStorage<4, 24, ::Vec2[3]> mHeadRots;
49 ::ll::TypedStorage<4, 24, ::Vec2[3]> mOldHeadRots;
50 ::ll::TypedStorage<4, 12, int[3]> mNextHeadUpdate;
51 ::ll::TypedStorage<4, 12, int[3]> mIdleHeadUpdates;
52 ::ll::TypedStorage<4, 4, int> mDestroyBlocksTick;
53 ::ll::TypedStorage<4, 4, int> mHealthThreshold;
54 ::ll::TypedStorage<4, 4, int> mPhase;
55 ::ll::TypedStorage<1, 1, bool> mWantsToExplode;
56 ::ll::TypedStorage<1, 1, bool> mCharging;
57 ::ll::TypedStorage<4, 12, ::Vec3> mChargeDirection;
58 ::ll::TypedStorage<4, 4, int> mChargeFrames;
59 ::ll::TypedStorage<4, 4, int> mPreparingCharge;
60 ::ll::TypedStorage<4, 4, int> mProjectileCounter;
61 ::ll::TypedStorage<4, 4, int> mSpawningFrames;
62 ::ll::TypedStorage<4, 4, int> mTimeTillNextShot;
63 ::ll::TypedStorage<4, 4, int> mFireRate;
64 ::ll::TypedStorage<4, 4, float> mSpinSpeed;
65 ::ll::TypedStorage<4, 4, int> mStunTimer;
66 ::ll::TypedStorage<4, 4, int> mFramesTillMove;
67 ::ll::TypedStorage<1, 1, bool> mWantsMove;
68 ::ll::TypedStorage<1, 1, bool> mIsPathing;
69 ::ll::TypedStorage<4, 4, int> mMaxHealth;
70 ::ll::TypedStorage<4, 4, int> mNumSkeletons;
71 ::ll::TypedStorage<4, 4, int> mMaxSkeletons;
72 ::ll::TypedStorage<4, 4, int> mMovementTime;
73 ::ll::TypedStorage<4, 4, int> mHealthIntervals;
74 ::ll::TypedStorage<4, 4, int> mLastHealthValue;
75 ::ll::TypedStorage<4, 4, int> mDelayShot;
76 ::ll::TypedStorage<4, 4, int> mTimeSinceLastShot;
77 ::ll::TypedStorage<4, 4, float> mAttackRange;
78 ::ll::TypedStorage<1, 1, bool> mSecondVolley;
79 ::ll::TypedStorage<4, 4, int> mMainHeadAttackCountdown;
80 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActorDamageSource>> mDeathSource;
81 ::ll::TypedStorage<4, 4, int> mlastFiredHead;
93 virtual void reloadHardcodedClient(::ActorInitializationMethod method) ;
95 virtual void aiStep() ;
97 virtual void newServerAiStep() ;
99 virtual bool canFreeze()
const ;
101 virtual bool canBeAffected(uint effectId)
const ;
108 virtual void addAdditionalSaveData(
::CompoundTag& tag)
const ;
112 virtual float causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source) ;
114 virtual int getArmorValue()
const ;
118 virtual void remove() ;
120 virtual bool startRiding(::Actor& vehicle,
bool forceRiding) ;
122 virtual void handleEntityEvent(::ActorEvent
id,
int data) ;
126 virtual ::Vec3 getFiringPos()
const ;
128 virtual ::ActorHurtResult
141 MCAPI
void _destroyBlocks(
146 ::WitherBoss::WitherAttackType attackType
149 MCAPI
void _performRangedAttack(
int headID, ::Actor& target);
151 MCAPI
void _performRangedAttack(
int headID,
::Vec3 const& targetPos,
bool dangerous);
153 MCAPI
void awardSpawnWitherAchievement()
const;
155 MCAPI
void baseDie();
157 MCAPI ::Vec2 getHeadRot(
int headID)
const;
159 MCAPI
int getInvulnerableTicks()
const;
161 MCAPI
bool hasAerialAttack()
const;
163 MCAPI
void postAiStep();
165 MCAPI ::WitherBossPreAIStepResult preAiStep();
167 MCAPI
void removeSkeleton();
169 MCAPI
void setAlternativeTarget(
int headIndex,
::ActorUniqueID entityId);
171 MCAPI
void setIsPathing(
bool isPathing);
173 MCAPI
void setShotDelay(
int delay);
175 MCAPI
void setWantsToMove(
bool shouldMove);
177 MCAPI
bool wantsToMove();
183 MCAPI
static bool canDestroy(
::Block const& block, ::WitherBoss::WitherAttackType attackType);
189 MCAPI static ::mce::UUID
const& MAX_HEALTH_CAP_UUID();
207 MCAPI
void $reloadHardcodedClient(::ActorInitializationMethod method);
209 MCAPI
void $aiStep();
211 MCAPI
void $newServerAiStep();
213 MCFOLD
bool $canFreeze()
const;
215 MCAPI
bool $canBeAffected(uint effectId)
const;
225 MCFOLD
float $causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source);
227 MCAPI
int $getArmorValue()
const;
231 MCAPI
void $remove();
233 MCFOLD
bool $startRiding(::Actor& vehicle,
bool forceRiding);
235 MCAPI
void $handleEntityEvent(::ActorEvent
id,
int data);
239 MCAPI ::Vec3 $getFiringPos()
const;
241 MCAPI ::ActorHurtResult $_hurt(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite);
249 MCAPI
static void** $vftable();
Definition EntityContext.h:17