diff --git a/lib/craftbukkit.jar b/lib/craftbukkit.jar index dbba473f..4fa6effd 100644 Binary files a/lib/craftbukkit.jar and b/lib/craftbukkit.jar differ diff --git a/src/com/massivecraft/factions/zcore/persist/EntityCollection.java b/src/com/massivecraft/factions/zcore/persist/EntityCollection.java index b19fcca1..73b8b170 100644 --- a/src/com/massivecraft/factions/zcore/persist/EntityCollection.java +++ b/src/com/massivecraft/factions/zcore/persist/EntityCollection.java @@ -172,9 +172,15 @@ public abstract class EntityCollection // -------------------------------------------- // // DISC // -------------------------------------------- // - + + // we don't want to let saveToDisc() run multiple iterations simultaneously + private boolean saveIsRunning = false; + public boolean saveToDisc() { + if (saveIsRunning) return true; + saveIsRunning = true; + Map entitiesThatShouldBeSaved = new HashMap(); for (E entity : this.entities) { @@ -183,7 +189,8 @@ public abstract class EntityCollection entitiesThatShouldBeSaved.put(entity.getId(), entity); } } - + + saveIsRunning = false; return this.saveCore(entitiesThatShouldBeSaved); }