66 lines
1.6 KiB
Java
66 lines
1.6 KiB
Java
package net.minecraft.world.entity.boss.enderdragon.phases;
|
|
|
|
import javax.annotation.Nullable;
|
|
import net.minecraft.core.BlockPos;
|
|
import net.minecraft.server.level.ServerLevel;
|
|
import net.minecraft.world.damagesource.DamageSource;
|
|
import net.minecraft.world.entity.boss.enderdragon.EndCrystal;
|
|
import net.minecraft.world.entity.boss.enderdragon.EnderDragon;
|
|
import net.minecraft.world.entity.player.Player;
|
|
import net.minecraft.world.phys.Vec3;
|
|
|
|
public abstract class AbstractDragonPhaseInstance implements DragonPhaseInstance {
|
|
protected final EnderDragon dragon;
|
|
|
|
public AbstractDragonPhaseInstance(EnderDragon p_31178_) {
|
|
this.dragon = p_31178_;
|
|
}
|
|
|
|
@Override
|
|
public boolean isSitting() {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public void doClientTick() {
|
|
}
|
|
|
|
@Override
|
|
public void doServerTick(ServerLevel p_366147_) {
|
|
}
|
|
|
|
@Override
|
|
public void onCrystalDestroyed(EndCrystal p_31184_, BlockPos p_31185_, DamageSource p_31186_, @Nullable Player p_31187_) {
|
|
}
|
|
|
|
@Override
|
|
public void begin() {
|
|
}
|
|
|
|
@Override
|
|
public void end() {
|
|
}
|
|
|
|
@Override
|
|
public float getFlySpeed() {
|
|
return 0.6F;
|
|
}
|
|
|
|
@Nullable
|
|
@Override
|
|
public Vec3 getFlyTargetLocation() {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public float onHurt(DamageSource p_31181_, float p_31182_) {
|
|
return p_31182_;
|
|
}
|
|
|
|
@Override
|
|
public float getTurnSpeed() {
|
|
float f = (float)this.dragon.getDeltaMovement().horizontalDistance() + 1.0F;
|
|
float f1 = Math.min(f, 40.0F);
|
|
return 0.7F / f1 / f;
|
|
}
|
|
} |