如何删除Bukkit服务器上的世界数据目录?

时间:2017-10-14 18:19:45

标签: minecraft bukkit

在我的Spigot / Bukkit的Minecraft服务器插件中,我试图删除一个世界的数据目录,但在卸载世界及其块之后,仍然无法删除某些文件和目录。

以下是我的代码的重要部分:

Server server = Backup.getPlugin(Backup.class).getServer();
World world = server.getWorld("world");
File active = world.getWorldFolder();

// Unload the world.
server.unloadWorld(world, false);
// Unload the chunks.
Chunk[] chunks = world.getLoadedChunks();
for (Chunk chunk : chunks) {
    chunk.unload(false);
}
ServerManager.deleteDirectory(active);

ServerManager.deleteDirectory(File)使用Apache的FileUtils.deleteQuietly(File)并且适用于其他功能,但无法删除最近卸载的世界的数据目录中的某些文件,很可能是因为服务器仍在使用某些文件。 / p>

我的主要问题:如何确保不再使用世界数据目录以便删除?

1 个答案:

答案 0 :(得分:1)

默认的3个世界:普通世界,幽冥和终结不能即时删除,但您可以删除额外添加的世界。

为了解你如何做到这一点,你可以看一下MultiverseCore插件的源代码:https://github.com/Multiverse/Multiverse-Core