From fd94112d877d4ed79eb7fe7925be391299c0db1e Mon Sep 17 00:00:00 2001 From: hdvt Date: Sun, 30 Nov 2025 22:24:19 +0300 Subject: [PATCH] =?UTF-8?q?increased=20seeker=20move=20speed=20for=20balan?= =?UTF-8?q?ce.=20=D0=9A=D0=BE=D1=81=D1=82=D1=8B=D0=BB=D1=8C=20fix=20Concur?= =?UTF-8?q?rentModificationException=20in=20BlockAndSeekGame?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../buildOutputCleanup/buildOutputCleanup.lock | Bin 17 -> 17 bytes .idea/modules/BlockAndSeek.main.iml | 5 ----- .../eventListeners/RequiredEventListener.java | 7 ------- .../blockandseek/managers/StateManager.java | 11 ++++++----- .../blockandseek/objects/BlockAndSeekGame.java | 1 + 5 files changed, 7 insertions(+), 17 deletions(-) diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 34130c3d404f5a44467a2ac6047b4a492ee1163d..f17029033af936ce6e55ad7227b54a518d0a027b 100644 GIT binary patch literal 17 VcmZQhY`Gk`{>!NV1~4$V1^_%!1<(Kh literal 17 VcmZQhY`Gk`{>!NV1~4#K0RTKB1)=}| diff --git a/.idea/modules/BlockAndSeek.main.iml b/.idea/modules/BlockAndSeek.main.iml index d329813..bbeeb3e 100644 --- a/.idea/modules/BlockAndSeek.main.iml +++ b/.idea/modules/BlockAndSeek.main.iml @@ -1,10 +1,5 @@ - - - - - diff --git a/src/main/java/hdvtdev/blockandseek/eventListeners/RequiredEventListener.java b/src/main/java/hdvtdev/blockandseek/eventListeners/RequiredEventListener.java index c8218f7..bbe9ce1 100644 --- a/src/main/java/hdvtdev/blockandseek/eventListeners/RequiredEventListener.java +++ b/src/main/java/hdvtdev/blockandseek/eventListeners/RequiredEventListener.java @@ -58,8 +58,6 @@ public class RequiredEventListener implements Listener { if (event.getAction().isLeftClick()) return; Player player = event.getPlayer(); - UUID uuid = player.getUniqueId(); - ItemStack item = event.getItem(); if (item != null) { ItemMeta meta = item.getItemMeta(); @@ -74,11 +72,6 @@ public class RequiredEventListener implements Listener { } - - - - - } @EventHandler diff --git a/src/main/java/hdvtdev/blockandseek/managers/StateManager.java b/src/main/java/hdvtdev/blockandseek/managers/StateManager.java index ee0917a..7676336 100644 --- a/src/main/java/hdvtdev/blockandseek/managers/StateManager.java +++ b/src/main/java/hdvtdev/blockandseek/managers/StateManager.java @@ -3,12 +3,12 @@ package hdvtdev.blockandseek.managers; import hdvtdev.blockandseek.objects.BlockAndSeekGame; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; public class StateManager { - private final Map playerToState = new HashMap<>(); - private final Map> stateToPlayers = new HashMap<>(); - + private final Map playerToState = new ConcurrentHashMap<>(); + private final Map> stateToPlayers = new ConcurrentHashMap<>(); public void setPlayerState(UUID uuid, BlockAndSeekGame.PlayerType newState) { @@ -27,7 +27,7 @@ public class StateManager { } public Set getPlayers() { - return playerToState.keySet(); + return new HashSet<>(playerToState.keySet()); } public boolean hasPlayer(UUID uuid) { @@ -43,7 +43,8 @@ public class StateManager { } public Set getPlayersInState(BlockAndSeekGame.PlayerType state) { - return Collections.unmodifiableSet(stateToPlayers.getOrDefault(state, Collections.emptySet())); + Set originalSet = stateToPlayers.getOrDefault(state, Collections.emptySet()); + return new HashSet<>(originalSet); } public void removePlayer(UUID uuid) { diff --git a/src/main/java/hdvtdev/blockandseek/objects/BlockAndSeekGame.java b/src/main/java/hdvtdev/blockandseek/objects/BlockAndSeekGame.java index 00bfee5..bbd05ba 100644 --- a/src/main/java/hdvtdev/blockandseek/objects/BlockAndSeekGame.java +++ b/src/main/java/hdvtdev/blockandseek/objects/BlockAndSeekGame.java @@ -218,6 +218,7 @@ public class BlockAndSeekGame { Player player = Bukkit.getPlayer(seeker); if (player != null) { stateManager.setPlayerState(seeker, PlayerType.SEEKER); + player.setWalkSpeed(0.22f); ItemManager.setSeekerSet(player); Utils.setLevelWithBar(player, 100); GamesManager.addSeekerImmune(player);