From 94d60e15b330d22f232194aec618746407ecac41 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 14 Jul 2025 22:04:02 +0100 Subject: [PATCH] Copy thrown pearls list for removal (#12840) --- .../sources/net/minecraft/server/players/PlayerList.java.patch | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 53789f75a23..4b59be15ba2 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