public void onLogin(Player player) throws AlreadyRegisteredException, NotRegisteredException { if (!player.isOnline()) return; // Test and kick any players with invalid names. if ((player.getName().trim() == null) || (player.getName().contains(" "))) { player.kickPlayer("Invalid name!"); return; } Resident resident; if (!getDataSource().hasResident(player.getName())) { getDataSource().newResident(player.getName()); resident = getDataSource().getResident(player.getName()); TownyMessaging.sendMessage(player, TownySettings.getRegistrationMsg(player.getName())); resident.setRegistered(System.currentTimeMillis()); if (!TownySettings.getDefaultTownName().equals("")) try { Town town = getDataSource().getTown(TownySettings.getDefaultTownName()); town.addResident(resident); getDataSource().saveTown(town); } catch (NotRegisteredException e) { } catch (AlreadyRegisteredException e) { } getDataSource().saveResident(resident); getDataSource().saveResidentList(); } else { resident = getDataSource().getResident(player.getName()); resident.setLastOnline(System.currentTimeMillis()); getDataSource().saveResident(resident); } try { TownyMessaging.sendTownBoard(player, resident.getTown()); } catch (NotRegisteredException e) { } if (isWarTime()) getWarEvent().sendScores(player, 3); // Schedule to setup default modes when the player has finished loading if (getPlugin() .getServer() .getScheduler() .scheduleSyncDelayedTask(getPlugin(), new SetDefaultModes(this, player, false), 1) == -1) TownyMessaging.sendErrorMsg("Could not set default modes for " + player.getName() + "."); setChangedNotify(PLAYER_LOGIN); }
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")); } }
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()); } }
public void parseAdminTownCommand(String[] split) throws TownyException { // TODO Make this use the actual town command procedually. 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()); } }