diff --git a/src/main/java/org/mvplugins/multiverse/core/world/WorldManager.java b/src/main/java/org/mvplugins/multiverse/core/world/WorldManager.java index 75f665ca7..5c603d805 100644 --- a/src/main/java/org/mvplugins/multiverse/core/world/WorldManager.java +++ b/src/main/java/org/mvplugins/multiverse/core/world/WorldManager.java @@ -649,12 +649,18 @@ private Attempt removeWorldFromConfig(@NotNull Mult */ public Attempt deleteWorld(@NotNull DeleteWorldOptions options) { return getLoadedWorld(options.world()).fold( - () -> loadWorld(LoadWorldOptions.world(options.world())) - .transform(DeleteFailureReason.LOAD_FAILED) - .mapAttempt(world -> doDeleteWorld(world, options)), + () -> loadThenDeleteWorld(options), world -> doDeleteWorld(world, options)); } + private Attempt loadThenDeleteWorld(@NotNull DeleteWorldOptions options) { + return loadWorld(LoadWorldOptions.world(options.world())) + .fold( + ignore -> worldActionResult(DeleteFailureReason.LOAD_FAILED, options.world().getName()), + loadedWorld -> doDeleteWorld(loadedWorld, options) + ); + } + /** * Deletes an existing multiverse world entirely. Warning: This will delete all world files. * diff --git a/src/main/resources/multiverse-core_en.properties b/src/main/resources/multiverse-core_en.properties index e210922e0..18c72f9c5 100644 --- a/src/main/resources/multiverse-core_en.properties +++ b/src/main/resources/multiverse-core_en.properties @@ -281,8 +281,8 @@ mv-core.createworld.worldexistunloaded=World '{world}' already exists, but it's mv-core.createworld.worldexistloaded=World '{world}' already exists! mv-core.deleteworld.worldnonexistent=World '{world}' not found! -mv-core.deleteworld.loadfailed=Unable to load world '{world}', does the world folder exist?&f You can run '&a/mv remove {world}&f' to remove it from Multiverse, or attempt to load again with '&a/mv load {world}&f'. -mv-core.deleteworld.worldfoldernotfound=World '{world}' folder not found! +mv-core.deleteworld.loadfailed=Unable to load world '{world}', is the world folder deleted or corrupted?&f You can run '&a/mv remove {world}&f' to remove it from Multiverse, or attempt to load again with '&a/mv load {world}&f'. +mv-core.deleteworld.worldfoldernotfound=&cUnable to locate '{world}' folder! You may '&a/mv remove {world}&c' to remove it from Multiverse, and manually delete the folder if it exists. mv-core.deleteworld.failedtodeletefolder=Failed to delete world folder '{world}': {error}\n&fSee console for more details. mv-core.importworld.invalidworldname=World '{world}' contains invalid characters!