package com.leontg77.uhc.cmds;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import com.leontg77.uhc.Main;
public class PvPCommand implements CommandExecutor, TabCompleter {
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (!sender.hasPermission("uhc.pvp")) {
sender.sendMessage(Main.NO_PERM_MSG);
return true;
}
if (args.length < 2) {
sender.sendMessage(Main.PREFIX + "Usage: /pvp <world|global> <on|off>");
return true;
}
if (args[0].equalsIgnoreCase("global")) {
if (args[1].equalsIgnoreCase("on")) {
for (World world : Bukkit.getWorlds()) {
world.setPVP(true);
world.setSpawnFlags(true, true);
}
sender.sendMessage(Main.PREFIX + "Global pvp has been enabled.");
} else if (args[1].equalsIgnoreCase("off")) {
for (World world : Bukkit.getWorlds()) {
world.setPVP(false);
}
sender.sendMessage(Main.PREFIX + "Global pvp has been disabled.");
} else {
sender.sendMessage(Main.PREFIX + "Usage: /pvp <world|global> <on|off>");
}
return true;
}
World world = Bukkit.getServer().getWorld(args[0]);
if (world == null) {
sender.sendMessage(ChatColor.RED + "That world does not exist.");
return true;
}
if (args[1].equalsIgnoreCase("on")) {
sender.sendMessage(Main.PREFIX + "PvP in �a" + world.getName() + " �7has been enabled.");
world.setPVP(true);
} else if (args[1].equalsIgnoreCase("off")) {
sender.sendMessage(Main.PREFIX + "PvP in �a" + world.getName() + " �7has been disabled.");
world.setPVP(false);
} else {
sender.sendMessage(Main.PREFIX + "Usage: /pvp <world|global> <on|off>");
}
return true;
}
public List<String> onTabComplete(CommandSender sender, Command cmd, String label, String[] args) {
if (!sender.hasPermission("uhc.pvp")) {
return null;
}
ArrayList<String> toReturn = new ArrayList<String>();
if (args.length == 1) {
ArrayList<String> types = new ArrayList<String>();
types.add("global");
for (World world : Bukkit.getServer().getWorlds()) {
types.add(world.getName());
}
if (args[0].equals("")) {
for (String type : types) {
toReturn.add(type);
}
} else {
for (String type : types) {
if (type.toLowerCase().startsWith(args[0].toLowerCase())) {
toReturn.add(type);
}
}
}
}
if (args.length == 2) {
ArrayList<String> types = new ArrayList<String>();
types.add("on");
types.add("off");
if (args[0].equals("")) {
for (String type : types) {
toReturn.add(type);
}
} else {
for (String type : types) {
if (type.toLowerCase().startsWith(args[0].toLowerCase())) {
toReturn.add(type);
}
}
}
}
return toReturn;
}
}