package com.walrusone.skywars.commands;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import com.walrusone.skywars.SkyWarsReloaded;
import com.walrusone.skywars.utilities.Messaging;
public class CreateMapCmd extends BaseCmd {
public CreateMapCmd() {
forcePlayer = false;
cmdName = "create";
argLength = 2; //counting cmdName
usage = "<mapname>";
desc = ":: Creates a map named <mapname>";
}
@Override
public boolean run() {
Location spawn = SkyWarsReloaded.getCfg().getSpawn();
if (spawn == null) {
sender.sendMessage(ChatColor.RED + "YOU MUST SET SPAWN BEFORE YOU CAN CREATE A MAP");
return true;
}
String worldName = args[1].toLowerCase();
if (!SkyWarsReloaded.getMC().mapExists(worldName.toLowerCase())) {
World newWorld = SkyWarsReloaded.getWC().createEmptyWorld(worldName);
if (newWorld == null) {
sender.sendMessage(new Messaging.MessageFormatter().format("error.map.world.exists"));
return true;
}
SkyWarsReloaded.getMC().addEditMap(worldName);
sender.sendMessage(new Messaging.MessageFormatter().setVariable("mapname", worldName).format("maps.created"));
if (sender instanceof Player) {
Player player = (Player) sender;
player.teleport(new Location(newWorld, 0, 21, 0), TeleportCause.PLUGIN);
}
return true;
} else {
sender.sendMessage(new Messaging.MessageFormatter().format("error.map-exists"));
return true;
}
}
}