minecraft-src/net/minecraft/world/entity/boss/enderdragon/phases/DragonSittingAttackingPhase.java
2025-07-04 03:15:13 +03:00

47 lines
1.1 KiB
Java

package net.minecraft.world.entity.boss.enderdragon.phases;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.world.entity.boss.enderdragon.EnderDragon;
public class DragonSittingAttackingPhase extends AbstractDragonSittingPhase {
private static final int ROAR_DURATION = 40;
private int attackingTicks;
public DragonSittingAttackingPhase(EnderDragon enderDragon) {
super(enderDragon);
}
@Override
public void doClientTick() {
this.dragon
.level()
.playLocalSound(
this.dragon.getX(),
this.dragon.getY(),
this.dragon.getZ(),
SoundEvents.ENDER_DRAGON_GROWL,
this.dragon.getSoundSource(),
2.5F,
0.8F + this.dragon.getRandom().nextFloat() * 0.3F,
false
);
}
@Override
public void doServerTick(ServerLevel level) {
if (this.attackingTicks++ >= 40) {
this.dragon.getPhaseManager().setPhase(EnderDragonPhase.SITTING_FLAMING);
}
}
@Override
public void begin() {
this.attackingTicks = 0;
}
@Override
public EnderDragonPhase<DragonSittingAttackingPhase> getPhase() {
return EnderDragonPhase.SITTING_ATTACKING;
}
}