SaveMapCmd.java 文件源码

java
阅读 14 收藏 0 点赞 0 评论 0

项目:SkyWarsReloaded 作者:
@Override
public boolean run() {
    Location spawn = SkyWarsReloaded.getCfg().getSpawn();
    if (spawn == null) {
        sender.sendMessage(ChatColor.RED + "YOU MUST SET SPAWN BEFORE YOU CAN SAVE A MAP");
        return true;
    }
    String worldName = args[1].toLowerCase();
    for (World world: SkyWarsReloaded.get().getServer().getWorlds()) {
        if (world.getName().equalsIgnoreCase(worldName)) {
            World editWorld = SkyWarsReloaded.get().getServer().getWorld(worldName);
            for (Player player: editWorld.getPlayers()) {
                player.teleport(spawn, TeleportCause.PLUGIN);
            }
            editWorld.save();
            SkyWarsReloaded.getWC().unloadWorld(worldName);
            File dataDirectory = new File (SkyWarsReloaded.get().getDataFolder(), "maps");
            File target = new File (dataDirectory, worldName);
            SkyWarsReloaded.getWC().deleteWorld(target);
            File source = new File (SkyWarsReloaded.get().getServer().getWorldContainer().getAbsolutePath(), worldName);
            SkyWarsReloaded.getWC().copyWorld(source, target);
            SkyWarsReloaded.getWC().deleteWorld(source);
            sender.sendMessage(new Messaging.MessageFormatter().setVariable("mapname", worldName).format("maps.saved"));
            if (SkyWarsReloaded.getMC().mapRegistered(worldName)) {
                sender.sendMessage(new Messaging.MessageFormatter().format("maps.register-reminder"));
            }
            return true;
        }
    }
    sender.sendMessage(new Messaging.MessageFormatter().setVariable("mapname", worldName).format("error.map-not-in-edit"));
    return true;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号