From daa146c8b5d6ddcbbb46e25c0d1b3259137dfbfc Mon Sep 17 00:00:00 2001 From: ChunghwaMC <92585552+ChunghwaMC@users.noreply.github.com> Date: Mon, 4 May 2026 00:44:01 +0800 Subject: [PATCH] fix ServuxHudDataProtocol ConcurrentModificationException (#144) * fix ServuxHudDataProtocol ConcurrentModificationException * fix build error --- .../leaves/protocol/servux/ServuxHudDataProtocol.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lophine-server/src/main/java/org/leavesmc/leaves/protocol/servux/ServuxHudDataProtocol.java b/lophine-server/src/main/java/org/leavesmc/leaves/protocol/servux/ServuxHudDataProtocol.java index f876469..68aa759 100644 --- a/lophine-server/src/main/java/org/leavesmc/leaves/protocol/servux/ServuxHudDataProtocol.java +++ b/lophine-server/src/main/java/org/leavesmc/leaves/protocol/servux/ServuxHudDataProtocol.java @@ -19,6 +19,7 @@ package org.leavesmc.leaves.protocol.servux; import com.google.common.collect.HashBasedTable; import com.google.common.collect.Table; +import com.google.common.collect.Tables; import com.mojang.serialization.DataResult; import fun.bm.lophine.config.modules.function.protocol.ServuxProtocolConfig; import io.netty.buffer.Unpooled; @@ -53,12 +54,12 @@ public class ServuxHudDataProtocol implements LeavesProtocol { public static final int PROTOCOL_VERSION = 2; - private static final List players = new ArrayList<>(); + private static final Set players = ConcurrentHashMap.newKeySet(); private static final int updateInterval = 80; private static final Map> loggerPlayers = new ConcurrentHashMap<>(); private static final Map> LOGGERS = new ConcurrentHashMap<>(); - private static final Table DATA = HashBasedTable.create(); + private static final Table DATA = Tables.synchronizedTable(HashBasedTable.create()); public static boolean refreshSpawnMetadata = false; @@ -373,4 +374,4 @@ public class ServuxHudDataProtocol implements LeavesProtocol { this(type, new CompoundTag(), buffer); } } -} \ No newline at end of file +}