diff --git a/paper-server/patches/sources/net/minecraft/server/players/PlayerList.java.patch b/paper-server/patches/sources/net/minecraft/server/players/PlayerList.java.patch index 53789f75a2..4b59be15ba 100644 --- a/paper-server/patches/sources/net/minecraft/server/players/PlayerList.java.patch +++ b/paper-server/patches/sources/net/minecraft/server/players/PlayerList.java.patch @@ -420,8 +420,9 @@ player.unRide(); - for (ThrownEnderpearl thrownEnderpearl : player.getEnderPearls()) { +- for (ThrownEnderpearl thrownEnderpearl : player.getEnderPearls()) { - thrownEnderpearl.setRemoved(Entity.RemovalReason.UNLOADED_WITH_PLAYER); ++ for (ThrownEnderpearl thrownEnderpearl : new java.util.ArrayList<>(player.getEnderPearls())) { // Paper - copy, setOwner will remove from list; + // Paper start - Allow using old ender pearl behavior + if (!thrownEnderpearl.level().paperConfig().misc.legacyEnderPearlBehavior) { + thrownEnderpearl.setRemoved(Entity.RemovalReason.UNLOADED_WITH_PLAYER, org.bukkit.event.entity.EntityRemoveEvent.Cause.PLAYER_QUIT); // CraftBukkit - add Bukkit remove cause