From 8bdb2bad14c481e5db3cee39522d2e3a09a00cdf Mon Sep 17 00:00:00 2001 From: Lixfel Date: Tue, 13 Aug 2024 19:37:37 +0200 Subject: [PATCH] Fix TinyProtocol spurious ConcurrentModificationExceptions --- .../src/com/comphenix/tinyprotocol/TinyProtocol.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java b/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java index b01690ec..7019c26d 100644 --- a/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java +++ b/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java @@ -36,6 +36,7 @@ import org.bukkit.event.server.PluginDisableEvent; import org.bukkit.plugin.Plugin; import java.util.*; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.BiFunction; import java.util.logging.Level; @@ -102,7 +103,7 @@ public class TinyProtocol implements Listener { } public void addFilter(Class packetType, BiFunction filter) { - packetFilters.computeIfAbsent(packetType, c -> Collections.synchronizedList(new ArrayList<>(1))).add(filter); + packetFilters.computeIfAbsent(packetType, c -> new CopyOnWriteArrayList<>()).add(filter); } public void removeFilter(Class packetType, BiFunction filter) {