Files
2019-02-24 22:29:41 +08:00

30 lines
1.2 KiB
Diff

--- ../src-base/minecraft/net/minecraft/entity/boss/dragon/phase/PhaseManager.java
+++ ../src-work/minecraft/net/minecraft/entity/boss/dragon/phase/PhaseManager.java
@@ -3,6 +3,8 @@
import net.minecraft.entity.boss.EntityDragon;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.bukkit.craftbukkit.entity.CraftEnderDragon;
+import org.bukkit.event.entity.EnderDragonChangePhaseEvent;
public class PhaseManager
{
@@ -26,6 +28,17 @@
this.phase.removeAreaEffect();
}
+ EnderDragonChangePhaseEvent event = new EnderDragonChangePhaseEvent(
+ (CraftEnderDragon) this.dragon.getBukkitEntity(),
+ (this.phase == null) ? null : CraftEnderDragon.getBukkitPhase(this.phase.getType()),
+ CraftEnderDragon.getBukkitPhase(phaseIn)
+ );
+ this.dragon.world.getServer().getPluginManager().callEvent(event);
+ if (event.isCancelled()) {
+ return;
+ }
+ phaseIn = CraftEnderDragon.getMinecraftPhase(event.getNewPhase());
+
this.phase = this.getPhase(phaseIn);
if (!this.dragon.world.isRemote)