-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fire entity death event for ender dragon (#9495)
- Loading branch information
Showing
1 changed file
with
26 additions
and
0 deletions.
There are no files selected for viewing
26 changes: 26 additions & 0 deletions
26
patches/server/1011-Fire-entity-death-event-for-ender-dragon.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Trevor Bedson <[email protected]> | ||
Date: Fri, 14 Jul 2023 20:47:02 -0400 | ||
Subject: [PATCH] Fire entity death event for ender dragon | ||
|
||
|
||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java | ||
index 92666c48620078623a451fbf68f673cb9f81c4b5..a24ae93efcdb2da5782d342c7697a1bb253400c7 100644 | ||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java | ||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java | ||
@@ -651,6 +651,15 @@ public class EnderDragon extends Mob implements Enemy { | ||
|
||
@Override | ||
public void kill() { | ||
+ // Paper start | ||
+ this.silentDeath = true; | ||
+ org.bukkit.event.entity.EntityDeathEvent deathEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDeathEvent(this); | ||
+ if (deathEvent.isCancelled()) { | ||
+ this.silentDeath = false; // Reset to default if event was cancelled | ||
+ return; | ||
+ } | ||
+ // Paper end | ||
+ | ||
this.remove(Entity.RemovalReason.KILLED); | ||
this.gameEvent(GameEvent.ENTITY_DIE); | ||
if (this.dragonFight != null) { |