66 lines
1.4 KiB
Java
66 lines
1.4 KiB
Java
package net.minecraft.world.entity.boss.enderdragon.phases;
|
|
|
|
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;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
public abstract class AbstractDragonPhaseInstance implements DragonPhaseInstance {
|
|
protected final EnderDragon dragon;
|
|
|
|
public AbstractDragonPhaseInstance(EnderDragon dragon) {
|
|
this.dragon = dragon;
|
|
}
|
|
|
|
@Override
|
|
public boolean isSitting() {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public void doClientTick() {
|
|
}
|
|
|
|
@Override
|
|
public void doServerTick(ServerLevel level) {
|
|
}
|
|
|
|
@Override
|
|
public void onCrystalDestroyed(EndCrystal crystal, BlockPos pos, DamageSource damageSource, @Nullable Player player) {
|
|
}
|
|
|
|
@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 damageSource, float amount) {
|
|
return amount;
|
|
}
|
|
|
|
@Override
|
|
public float getTurnSpeed() {
|
|
float f = (float)this.dragon.getDeltaMovement().horizontalDistance() + 1.0F;
|
|
float g = Math.min(f, 40.0F);
|
|
return 0.7F / g / f;
|
|
}
|
|
}
|