Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-17 03:50:08 +01:00
dc684c60d1
The new behavior of disconnect to block the current thread until the disconnect succeeded is better than throwing it off to happen at some point
27 Zeilen
1.4 KiB
Diff
27 Zeilen
1.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Trevor Bedson <78997566+Prorickey@users.noreply.github.com>
|
|
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 45673a7630977e833df84e29e2f0b0012a3ab049..4d2fbade3a01ca26ff107f1323ae23db6dad8ef8 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
|
|
@@ -658,6 +658,15 @@ public class EnderDragon extends Mob implements Enemy {
|
|
|
|
@Override
|
|
public void kill() {
|
|
+ // Paper start - Fire entity death event
|
|
+ this.silentDeath = true;
|
|
+ org.bukkit.event.entity.EntityDeathEvent deathEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDeathEvent(this, this.damageSources().genericKill());
|
|
+ if (deathEvent.isCancelled()) {
|
|
+ this.silentDeath = false; // Reset to default if event was cancelled
|
|
+ return;
|
|
+ }
|
|
+ // Paper end - Fire entity death event
|
|
+
|
|
this.remove(Entity.RemovalReason.KILLED, EntityRemoveEvent.Cause.DEATH); // CraftBukkit - add Bukkit remove cause
|
|
this.gameEvent(GameEvent.ENTITY_DIE);
|
|
if (this.dragonFight != null) {
|