diff --git a/src/main/java/noppes/npcs/client/controllers/ScriptSoundController.java b/src/main/java/noppes/npcs/client/controllers/ScriptSoundController.java index 385ad4d64..303836323 100644 --- a/src/main/java/noppes/npcs/client/controllers/ScriptSoundController.java +++ b/src/main/java/noppes/npcs/client/controllers/ScriptSoundController.java @@ -4,6 +4,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.audio.SoundHandler; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import java.util.Set; @@ -17,11 +18,12 @@ public class ScriptSoundController { public void onUpdate() { SoundHandler soundHandler = Minecraft.getMinecraft().getSoundHandler(); - final Set> entrySet = sounds.entrySet(); - for (Map.Entry entry : entrySet) { + final Iterator> iterator = sounds.entrySet().iterator(); + while (iterator.hasNext()) { + Map.Entry entry = iterator.next(); ScriptClientSound sound = entry.getValue(); if (!soundHandler.isSoundPlaying(sound) && !sound.canRepeat() && !sound.paused) { - sounds.remove(entry.getKey()); + iterator.remove(); } } }