use of com.palmergames.bukkit.towny.exceptions.TownyException in project Towny by ElgarL.
the class TownyAdminCommand method parseAdminTownCommand.
public void parseAdminTownCommand(String[] split) throws TownyException {
if (split.length == 0 || split[0].equalsIgnoreCase("?")) {
sender.sendMessage(ChatTools.formatTitle("/townyadmin town"));
sender.sendMessage(ChatTools.formatCommand(TownySettings.getLangString("admin_sing"), "/townyadmin town", "[town]", ""));
sender.sendMessage(ChatTools.formatCommand(TownySettings.getLangString("admin_sing"), "/townyadmin town", "[town] add/kick [] .. []", ""));
sender.sendMessage(ChatTools.formatCommand(TownySettings.getLangString("admin_sing"), "/townyadmin town", "[town] rename [newname]", ""));
sender.sendMessage(ChatTools.formatCommand(TownySettings.getLangString("admin_sing"), "/townyadmin town", "[town] delete", ""));
sender.sendMessage(ChatTools.formatCommand(TownySettings.getLangString("admin_sing"), "/townyadmin town", "[town] spawn", ""));
sender.sendMessage(ChatTools.formatCommand(TownySettings.getLangString("admin_sing"), "/townyadmin town", "[town] outpost #", ""));
return;
}
try {
Town town = TownyUniverse.getDataSource().getTown(split[0]);
if (split.length == 1) {
TownyMessaging.sendMessage(getSender(), TownyFormatter.getStatus(town));
return;
}
if (!TownyUniverse.getPermissionSource().testPermission(player, PermissionNodes.TOWNY_COMMAND_TOWNYADMIN_TOWN.getNode(split[1].toLowerCase())))
throw new TownyException(TownySettings.getLangString("msg_err_command_disable"));
if (split[1].equalsIgnoreCase("add")) {
/*
* if (isConsole) { sender.sendMessage(
* "[Towny] InputError: This command was designed for use in game only."
* ); return; }
*/
TownCommand.townAdd(getSender(), town, StringMgmt.remArgs(split, 2));
} else if (split[1].equalsIgnoreCase("kick")) {
TownCommand.townKickResidents(getSender(), town.getMayor(), town, TownyUniverse.getValidatedResidents(getSender(), StringMgmt.remArgs(split, 2)));
} else if (split[1].equalsIgnoreCase("delete")) {
TownyUniverse.getDataSource().removeTown(town);
} else if (split[1].equalsIgnoreCase("rename")) {
if (!NameValidation.isBlacklistName(split[2])) {
TownyUniverse.getDataSource().renameTown(town, split[2]);
TownyMessaging.sendTownMessage(town, String.format(TownySettings.getLangString("msg_town_set_name"), ((getSender() instanceof Player) ? player.getName() : "CONSOLE"), town.getName()));
} else
TownyMessaging.sendErrorMsg(getSender(), TownySettings.getLangString("msg_invalid_name"));
} else if (split[1].equalsIgnoreCase("spawn")) {
TownCommand.townSpawn(player, StringMgmt.remArgs(split, 2), town, "", false);
} else if (split[1].equalsIgnoreCase("outpost")) {
TownCommand.townSpawn(player, StringMgmt.remArgs(split, 2), town, "", true);
}
} catch (NotRegisteredException e) {
TownyMessaging.sendErrorMsg(getSender(), e.getMessage());
} catch (TownyException e) {
TownyMessaging.sendErrorMsg(getSender(), e.getMessage());
}
}
use of com.palmergames.bukkit.towny.exceptions.TownyException in project Towny by ElgarL.
the class TownyAdminCommand method parseAdminNationCommand.
public void parseAdminNationCommand(String[] split) throws TownyException {
if (split.length == 0 || split[0].equalsIgnoreCase("?")) {
sender.sendMessage(ChatTools.formatTitle("/townyadmin nation"));
sender.sendMessage(ChatTools.formatCommand(TownySettings.getLangString("admin_sing"), "/townyadmin nation", "[nation]", ""));
sender.sendMessage(ChatTools.formatCommand(TownySettings.getLangString("admin_sing"), "/townyadmin nation", "[nation] add [] .. []", ""));
sender.sendMessage(ChatTools.formatCommand(TownySettings.getLangString("admin_sing"), "/townyadmin nation", "[nation] rename [newname]", ""));
sender.sendMessage(ChatTools.formatCommand(TownySettings.getLangString("admin_sing"), "/townyadmin nation", "[nation] delete", ""));
return;
}
try {
Nation nation = TownyUniverse.getDataSource().getNation(split[0]);
if (split.length == 1) {
TownyMessaging.sendMessage(getSender(), TownyFormatter.getStatus(nation));
return;
}
if (!TownyUniverse.getPermissionSource().testPermission(player, PermissionNodes.TOWNY_COMMAND_TOWNYADMIN_NATION.getNode(split[1].toLowerCase())))
throw new TownyException(TownySettings.getLangString("msg_err_command_disable"));
if (split[1].equalsIgnoreCase("add")) {
/*
* if (isConsole) { sender.sendMessage(
* "[Towny] InputError: This command was designed for use in game only."
* ); return; }
*/
NationCommand.nationAdd(nation, TownyUniverse.getDataSource().getTowns(StringMgmt.remArgs(split, 2)));
} else if (split[1].equalsIgnoreCase("delete")) {
TownyUniverse.getDataSource().removeNation(nation);
} else if (split[1].equalsIgnoreCase("rename")) {
if (!NameValidation.isBlacklistName(split[2])) {
TownyUniverse.getDataSource().renameNation(nation, split[2]);
TownyMessaging.sendNationMessage(nation, String.format(TownySettings.getLangString("msg_nation_set_name"), ((getSender() instanceof Player) ? player.getName() : "CONSOLE"), nation.getName()));
} else
TownyMessaging.sendErrorMsg(getSender(), TownySettings.getLangString("msg_invalid_name"));
}
} catch (NotRegisteredException e) {
TownyMessaging.sendErrorMsg(getSender(), e.getMessage());
} catch (AlreadyRegisteredException e) {
TownyMessaging.sendErrorMsg(getSender(), e.getMessage());
}
}
use of com.palmergames.bukkit.towny.exceptions.TownyException in project Towny by ElgarL.
the class TownyAdminCommand method parseToggleCommand.
public void parseToggleCommand(String[] split) throws TownyException {
boolean choice;
if (split.length == 0) {
// command was '/townyadmin toggle'
player.sendMessage(ChatTools.formatTitle("/townyadmin toggle"));
player.sendMessage(ChatTools.formatCommand("", "/townyadmin toggle", "war", ""));
player.sendMessage(ChatTools.formatCommand("", "/townyadmin toggle", "neutral", ""));
player.sendMessage(ChatTools.formatCommand("", "/townyadmin toggle", "devmode", ""));
player.sendMessage(ChatTools.formatCommand("", "/townyadmin toggle", "debug", ""));
player.sendMessage(ChatTools.formatCommand("", "/townyadmin toggle", "townwithdraw/nationwithdraw", ""));
player.sendMessage(ChatTools.formatCommand("", "/townyadmin toggle npc", "[resident]", ""));
return;
}
if (!TownyUniverse.getPermissionSource().testPermission(player, PermissionNodes.TOWNY_COMMAND_TOWNYADMIN_TOGGLE.getNode(split[0].toLowerCase())))
throw new TownyException(TownySettings.getLangString("msg_err_command_disable"));
if (split[0].equalsIgnoreCase("war")) {
choice = TownyUniverse.isWarTime();
if (!choice) {
plugin.getTownyUniverse().startWarEvent();
TownyMessaging.sendMsg(getSender(), TownySettings.getLangString("msg_war_started"));
} else {
plugin.getTownyUniverse().endWarEvent();
TownyMessaging.sendMsg(getSender(), TownySettings.getLangString("msg_war_ended"));
}
} else if (split[0].equalsIgnoreCase("neutral")) {
try {
choice = !TownySettings.isDeclaringNeutral();
TownySettings.setDeclaringNeutral(choice);
TownyMessaging.sendMsg(getSender(), String.format(TownySettings.getLangString("msg_nation_allow_neutral"), choice ? "Enabled" : "Disabled"));
} catch (Exception e) {
TownyMessaging.sendErrorMsg(getSender(), TownySettings.getLangString("msg_err_invalid_choice"));
return;
}
} else if (split[0].equalsIgnoreCase("devmode")) {
try {
choice = !TownySettings.isDevMode();
TownySettings.setDevMode(choice);
TownyMessaging.sendMsg(getSender(), "Dev Mode " + (choice ? Colors.Green + "Enabled" : Colors.Red + "Disabled"));
} catch (Exception e) {
TownyMessaging.sendErrorMsg(getSender(), TownySettings.getLangString("msg_err_invalid_choice"));
}
} else if (split[0].equalsIgnoreCase("debug")) {
try {
choice = !TownySettings.getDebug();
TownySettings.setDebug(choice);
TownyMessaging.sendMsg(getSender(), "Debug Mode " + (choice ? Colors.Green + "Enabled" : Colors.Red + "Disabled"));
} catch (Exception e) {
TownyMessaging.sendErrorMsg(getSender(), TownySettings.getLangString("msg_err_invalid_choice"));
}
} else if (split[0].equalsIgnoreCase("townwithdraw")) {
try {
choice = !TownySettings.getTownBankAllowWithdrawls();
TownySettings.SetTownBankAllowWithdrawls(choice);
TownyMessaging.sendMsg(getSender(), "Town Withdrawls " + (choice ? Colors.Green + "Enabled" : Colors.Red + "Disabled"));
} catch (Exception e) {
TownyMessaging.sendErrorMsg(getSender(), TownySettings.getLangString("msg_err_invalid_choice"));
}
} else if (split[0].equalsIgnoreCase("nationwithdraw")) {
try {
choice = !TownySettings.geNationBankAllowWithdrawls();
TownySettings.SetNationBankAllowWithdrawls(choice);
TownyMessaging.sendMsg(getSender(), "Nation Withdrawls " + (choice ? Colors.Green + "Enabled" : Colors.Red + "Disabled"));
} catch (Exception e) {
TownyMessaging.sendErrorMsg(getSender(), TownySettings.getLangString("msg_err_invalid_choice"));
}
} else if (split[0].equalsIgnoreCase("npc")) {
if (split.length != 2)
throw new TownyException(String.format(TownySettings.getLangString("msg_err_invalid_input"), "Eg: toggle npc [resident]"));
try {
Resident resident = TownyUniverse.getDataSource().getResident(split[1]);
resident.setNPC(!resident.isNPC());
TownyUniverse.getDataSource().saveResident(resident);
TownyMessaging.sendMessage(sender, String.format(TownySettings.getLangString("msg_npc_flag"), resident.isNPC(), resident.getName()));
} catch (NotRegisteredException x) {
throw new TownyException(String.format(TownySettings.getLangString("msg_err_not_registered_1"), split[1]));
}
} else {
// parameter error message
// neutral/war/townmobs/worldmobs
TownyMessaging.sendErrorMsg(getSender(), TownySettings.getLangString("msg_err_invalid_choice"));
}
}
use of com.palmergames.bukkit.towny.exceptions.TownyException in project Towny by ElgarL.
the class TownyAdminCommand method adminSet.
public void adminSet(String[] split) throws TownyException {
if (split.length == 0) {
sender.sendMessage(ChatTools.formatTitle("/townyadmin set"));
// TODO: player.sendMessage(ChatTools.formatCommand("",
// "/townyadmin set", "king [nation] [king]", ""));
sender.sendMessage(ChatTools.formatCommand("", "/townyadmin set", "mayor [town] " + TownySettings.getLangString("town_help_2"), ""));
sender.sendMessage(ChatTools.formatCommand("", "/townyadmin set", "mayor [town] npc", ""));
return;
}
if (!TownyUniverse.getPermissionSource().testPermission(player, PermissionNodes.TOWNY_COMMAND_TOWNYADMIN_SET.getNode(split[0].toLowerCase())))
throw new TownyException(TownySettings.getLangString("msg_err_command_disable"));
if (split[0].equalsIgnoreCase("mayor")) {
if (split.length < 3) {
sender.sendMessage(ChatTools.formatTitle("/townyadmin set mayor"));
sender.sendMessage(ChatTools.formatCommand("Eg", "/townyadmin set mayor", "[town] " + TownySettings.getLangString("town_help_2"), ""));
sender.sendMessage(ChatTools.formatCommand("Eg", "/townyadmin set mayor", "[town] npc", ""));
} else
try {
Resident newMayor = null;
Town town = TownyUniverse.getDataSource().getTown(split[1]);
if (split[2].equalsIgnoreCase("npc")) {
String name = nextNpcName();
TownyUniverse.getDataSource().newResident(name);
newMayor = TownyUniverse.getDataSource().getResident(name);
newMayor.setRegistered(System.currentTimeMillis());
newMayor.setLastOnline(0);
newMayor.setNPC(true);
TownyUniverse.getDataSource().saveResident(newMayor);
TownyUniverse.getDataSource().saveResidentList();
// set for no upkeep as an NPC mayor is assigned
town.setHasUpkeep(false);
} else {
newMayor = TownyUniverse.getDataSource().getResident(split[2]);
// set upkeep again
town.setHasUpkeep(true);
}
if (!town.hasResident(newMayor))
TownCommand.townAddResident(town, newMayor);
// Delete the resident if the old mayor was an NPC.
Resident oldMayor = town.getMayor();
town.setMayor(newMayor);
if (oldMayor.isNPC()) {
try {
town.removeResident(oldMayor);
TownyUniverse.getDataSource().removeResident(oldMayor);
TownyUniverse.getDataSource().removeResidentList(oldMayor);
} catch (EmptyTownException e) {
// Should never reach here as we are setting a new
// mayor before removing the old one.
e.printStackTrace();
}
}
TownyUniverse.getDataSource().saveTown(town);
String[] msg = TownySettings.getNewMayorMsg(newMayor.getName());
TownyMessaging.sendTownMessage(town, msg);
// TownyMessaging.sendMessage(player, msg);
} catch (TownyException e) {
TownyMessaging.sendErrorMsg(getSender(), e.getMessage());
}
} else if (split[0].equalsIgnoreCase("capital")) {
if (split.length < 2) {
sender.sendMessage(ChatTools.formatTitle("/townyadmin set capital"));
sender.sendMessage(ChatTools.formatCommand("Eg", "/ta set capital", "[town name]", ""));
} else {
try {
Town newCapital = TownyUniverse.getDataSource().getTown(split[1]);
Nation nation = newCapital.getNation();
nation.setCapital(newCapital);
plugin.resetCache();
TownyMessaging.sendNationMessage(nation, TownySettings.getNewKingMsg(newCapital.getMayor().getName(), nation.getName()));
TownyUniverse.getDataSource().saveNation(nation);
TownyUniverse.getDataSource().saveNationList();
} catch (TownyException e) {
TownyMessaging.sendErrorMsg(player, e.getMessage());
}
}
} else {
TownyMessaging.sendErrorMsg(getSender(), String.format(TownySettings.getLangString("msg_err_invalid_property"), "administrative"));
return;
}
}
use of com.palmergames.bukkit.towny.exceptions.TownyException in project Towny by ElgarL.
the class TownyAdminCommand method giveBonus.
private void giveBonus(String[] split) throws TownyException {
Town town;
try {
if (split.length != 2)
throw new TownyException(String.format(TownySettings.getLangString("msg_err_invalid_input"), "Eg: givebonus [town/player] [n]"));
try {
town = TownyUniverse.getDataSource().getTown(split[0]);
} catch (NotRegisteredException e) {
town = TownyUniverse.getDataSource().getResident(split[0]).getTown();
}
try {
town.setBonusBlocks(town.getBonusBlocks() + Integer.parseInt(split[1].trim()));
TownyMessaging.sendMsg(getSender(), String.format(TownySettings.getLangString("msg_give_total"), town.getName(), split[1], town.getBonusBlocks()));
} catch (NumberFormatException nfe) {
throw new TownyException(TownySettings.getLangString("msg_error_must_be_int"));
}
TownyUniverse.getDataSource().saveTown(town);
} catch (TownyException e) {
throw new TownyException(e.getMessage());
}
}
Aggregations