Przeglądaj źródła

Fixed ConcurrentModificationException on world unload

bm01 13 lat temu
rodzic
commit
bdcc522897

+ 2 - 1
Changelog.txt

@@ -11,7 +11,8 @@ Version 1.3.10-dev
  + Added permission node for Iron Grip ability (mcmmo.ability.unarmed.irongrip)
  + Added ability for custom blocks to drop a range of items.
  + Added Ability API functions
- + Added 50% & 150% XP boost perks
+ + Added 50% & 150% XP boost perks
+ = Fixed ConcurrentModificationException on world unload
  = Fixed players never being removed from memory (memory leak)
  = Fixed admin chat being seen by everyone
  = Fixed issue with UTFDataFormatException occurring on occasion when trying to load Chunklets

+ 4 - 3
src/main/java/com/gmail/nossr50/util/blockmeta/HashChunkletManager.java

@@ -10,6 +10,7 @@ import java.io.ObjectOutputStream;
 import java.io.StreamCorruptedException;
 import java.io.UTFDataFormatException;
 import java.util.HashMap;
+import java.util.Iterator;
 
 import org.bukkit.Bukkit;
 import org.bukkit.Chunk;
@@ -86,10 +87,10 @@ public class HashChunkletManager implements ChunkletManager {
 
         String worldName = world.getName();
 
-        for(String key : store.keySet()) {
-            String tempWorldName = key.split(",")[0];
+        for(Iterator<String> it = store.keySet().iterator() ; it.hasNext() ; ) {
+            String tempWorldName = it.next().split(",")[0];
             if(tempWorldName.equals(worldName)) {
-                store.remove(key);
+                it.remove();
             }
         }
     }