mirror of
				https://hub.spigotmc.org/stash/scm/spigot/craftbukkit.git
				synced 2025-11-01 09:09:36 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/net/minecraft/server/DragonControllerManager.java
 | 
						|
+++ b/net/minecraft/server/DragonControllerManager.java
 | 
						|
@@ -2,6 +2,10 @@
 | 
						|
 
 | 
						|
 import org.apache.logging.log4j.LogManager;
 | 
						|
 import org.apache.logging.log4j.Logger;
 | 
						|
+// CraftBukkit start
 | 
						|
+import org.bukkit.craftbukkit.entity.CraftEnderDragon;
 | 
						|
+import org.bukkit.event.entity.EnderDragonChangePhaseEvent;
 | 
						|
+// CraftBukkit end
 | 
						|
 
 | 
						|
 public class DragonControllerManager {
 | 
						|
 
 | 
						|
@@ -21,6 +25,19 @@
 | 
						|
                 this.currentDragonController.e();
 | 
						|
             }
 | 
						|
 
 | 
						|
+            // CraftBukkit start - Call EnderDragonChangePhaseEvent
 | 
						|
+            EnderDragonChangePhaseEvent event = new EnderDragonChangePhaseEvent(
 | 
						|
+                    (CraftEnderDragon) this.enderDragon.getBukkitEntity(),
 | 
						|
+                    (this.currentDragonController == null) ? null : CraftEnderDragon.getBukkitPhase(this.currentDragonController.getControllerPhase()),
 | 
						|
+                    CraftEnderDragon.getBukkitPhase(dragoncontrollerphase)
 | 
						|
+            );
 | 
						|
+            this.enderDragon.world.getServer().getPluginManager().callEvent(event);
 | 
						|
+            if (event.isCancelled()) {
 | 
						|
+                return;
 | 
						|
+            }
 | 
						|
+            dragoncontrollerphase = CraftEnderDragon.getMinecraftPhase(event.getNewPhase());
 | 
						|
+            // CraftBukkit end
 | 
						|
+
 | 
						|
             this.currentDragonController = this.b(dragoncontrollerphase);
 | 
						|
             if (!this.enderDragon.world.isClientSide) {
 | 
						|
                 this.enderDragon.getDataWatcher().set(EntityEnderDragon.PHASE, dragoncontrollerphase.b());
 | 
						|
@@ -42,6 +59,6 @@
 | 
						|
             this.dragonControllers[i] = dragoncontrollerphase.a(this.enderDragon);
 | 
						|
         }
 | 
						|
 
 | 
						|
-        return this.dragonControllers[i];
 | 
						|
+        return (T) this.dragonControllers[i]; // CraftBukkit - decompile error
 | 
						|
     }
 | 
						|
 }
 |