浏览代码

Fix ConcurrentModificationException with alchemyBrewTask.finishImmediately()

Fixes #1848
TfT_02 11 年之前
父节点
当前提交
4b9d472f10
共有 1 个文件被更改,包括 8 次插入0 次删除
  1. 8 0
      src/main/java/com/gmail/nossr50/skills/alchemy/Alchemy.java

+ 8 - 0
src/main/java/com/gmail/nossr50/skills/alchemy/Alchemy.java

@@ -1,6 +1,8 @@
 package com.gmail.nossr50.skills.alchemy;
 
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.bukkit.block.BlockState;
@@ -61,7 +63,13 @@ public final class Alchemy {
     public static void finishAllBrews() {
         mcMMO.p.debug("Completing " + brewingStandMap.size() + " unfinished Alchemy brews.");
 
+        List<AlchemyBrewTask> toFinish = new ArrayList<AlchemyBrewTask>();
+
         for (AlchemyBrewTask alchemyBrewTask : brewingStandMap.values()) {
+            toFinish.add(alchemyBrewTask);
+        }
+
+        for (AlchemyBrewTask alchemyBrewTask : toFinish) {
             alchemyBrewTask.finishImmediately();
         }
     }