下面列出了org.bukkit.World#setKeepSpawnInMemory ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private static World createArenaWorld(ConfigArena arena, String name) {
World world;
world = Bukkit.getServer().getWorld(name);
if (world == null) {
WorldCreator wc = new WorldCreator(name);
wc.environment(Environment.NORMAL);
wc.type(WorldType.FLAT);
wc.generateStructures(false);
world = Bukkit.getServer().createWorld(wc);
world.setAutoSave(false);
world.setSpawnFlags(false, false);
world.setKeepSpawnInMemory(false);
ChunkCoord.addWorld(world);
}
return world;
}
@Override
public World createWorld(String worldName) throws ModuleLoadException, IOException {
if(server.getWorlds().isEmpty()) {
throw new IllegalStateException("Can't create a world because there is no default world to derive it from");
}
try {
importDestructive(terrainOptions.worldFolder().toFile(), worldName);
} catch(FileNotFoundException e) {
// If files are missing, just inform the mapmaker.
// Other IOExceptions are considered internal errors.
throw new ModuleLoadException(e.getMessage()); // Don't set the cause, it's redundant
}
final WorldCreator creator = worldCreator(worldName);
worldConfigurators.forEach(wc -> wc.configureWorld(creator));
final World world = server.createWorld(creator);
if(world == null) {
throw new IllegalStateException("Failed to create world (Server.createWorld returned null)");
}
world.setAutoSave(false);
world.setKeepSpawnInMemory(false);
world.setDifficulty(Optional.ofNullable(mapInfo.difficulty)
.orElseGet(() -> server.getWorlds().get(0).getDifficulty()));
return world;
}
@EventHandler
public static void onWorldLoad(WorldInitEvent event) {
if (disableChunkLoad) {
World world = event.getWorld();
world.setKeepSpawnInMemory(false);
}
}
@EventHandler(priority = EventPriority.HIGHEST)
public void onInit(WorldInitEvent event) {
World world = event.getWorld();
if (plugin.isInstance(world)) {
world.setKeepSpawnInMemory(false);
}
}