From f71faf9d7a1b39104bcb7f4430a9ac7c2b7bfa7c Mon Sep 17 00:00:00 2001 From: Daniel Saukel Date: Thu, 8 Jul 2021 17:42:53 +0200 Subject: [PATCH] No editing while an edit world is saving; resolves #1029 --- core/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java | 1 + .../src/main/java/de/erethon/dungeonsxl/player/DEditPlayer.java | 2 ++ .../main/java/de/erethon/dungeonsxl/world/DResourceWorld.java | 1 - 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java b/core/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java index 237ca865..28dd646b 100644 --- a/core/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java +++ b/core/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java @@ -597,6 +597,7 @@ public class DungeonsXL extends DREPlugin implements DungeonsAPI { * @param loadingWorld if a world is being loaded */ public void setLoadingWorld(boolean loadingWorld) { + log("World loading is now " + (loadingWorld ? "LOCKED" : "UNLOCKED")); this.loadingWorld = loadingWorld; } diff --git a/core/src/main/java/de/erethon/dungeonsxl/player/DEditPlayer.java b/core/src/main/java/de/erethon/dungeonsxl/player/DEditPlayer.java index 931330fd..be9e2998 100644 --- a/core/src/main/java/de/erethon/dungeonsxl/player/DEditPlayer.java +++ b/core/src/main/java/de/erethon/dungeonsxl/player/DEditPlayer.java @@ -143,11 +143,13 @@ public class DEditPlayer extends DInstancePlayer implements EditPlayer { reset(false); if (unloadIfEmpty && !plugin.isLoadingWorld() && editWorld != null && editWorld.getPlayers().isEmpty()) { + plugin.setLoadingWorld(true); editWorld.delete(); new ProgressBar(player, config.getEditInstanceRemovalDelay()) { @Override public void onFinish() { MessageUtil.sendActionBarMessage(player, DMessage.CMD_SAVE_SUCCESS.getMessage()); + plugin.setLoadingWorld(false); } }.send(plugin); } diff --git a/core/src/main/java/de/erethon/dungeonsxl/world/DResourceWorld.java b/core/src/main/java/de/erethon/dungeonsxl/world/DResourceWorld.java index 7e13eed5..b8a88e6b 100644 --- a/core/src/main/java/de/erethon/dungeonsxl/world/DResourceWorld.java +++ b/core/src/main/java/de/erethon/dungeonsxl/world/DResourceWorld.java @@ -26,7 +26,6 @@ import de.erethon.dungeonsxl.api.player.EditPlayer; import de.erethon.dungeonsxl.api.world.EditWorld; import de.erethon.dungeonsxl.api.world.GameWorld; import de.erethon.dungeonsxl.api.world.ResourceWorld; -import de.erethon.dungeonsxl.dungeon.DGame; import de.erethon.dungeonsxl.util.commons.compatibility.Internals; import de.erethon.dungeonsxl.util.commons.compatibility.Version; import de.erethon.dungeonsxl.util.commons.misc.FileUtil;