player.sendMessage(ChatTools.formatCommand("", "/town toggle", "mobs", ""));
player.sendMessage(ChatTools.formatCommand("", "/town toggle", "taxpercent", ""));
player.sendMessage(ChatTools.formatCommand("", "/town toggle", "open", ""));
} else {
Resident resident;
Town town;
try {
resident = TownyUniverse.getDataSource().getResident(player.getName());
town = resident.getTown();
if (!resident.isMayor())
if (!town.hasAssistant(resident))
throw new TownyException(TownySettings.getLangString("msg_not_mayor_ass"));
} catch (TownyException x) {
TownyMessaging.sendErrorMsg(player, x.getMessage());
return;
}
try {
// TODO: Let admin's call a subfunction of this.
if (split[0].equalsIgnoreCase("public")) {
if (plugin.isPermissions() && (!TownyUniverse.getPermissionSource().hasPermission(player, PermissionNodes.TOWNY_TOGGLE_PUBLIC.getNode())))
throw new Exception(TownySettings.getLangString("msg_err_command_disable"));
town.setPublic(!town.isPublic());
TownyMessaging.sendTownMessage(town, String.format(TownySettings.getLangString("msg_changed_public"), town.isPublic() ? "Enabled" : "Disabled"));
} else if (split[0].equalsIgnoreCase("pvp")) {
//Make sure we are allowed to set these permissions.
toggleTest(player,town,StringMgmt.join(split, " "));
town.setPVP(!town.isPVP());
TownyMessaging.sendTownMessage(town, String.format(TownySettings.getLangString("msg_changed_pvp"), "Town", town.isPVP() ? "Enabled" : "Disabled"));
} else if (split[0].equalsIgnoreCase("explosion")) {
//Make sure we are allowed to set these permissions.
toggleTest(player,town,StringMgmt.join(split, " "));
town.setBANG(!town.isBANG());
TownyMessaging.sendTownMessage(town, String.format(TownySettings.getLangString("msg_changed_expl"), "Town", town.isBANG() ? "Enabled" : "Disabled"));
} else if (split[0].equalsIgnoreCase("fire")) {
//Make sure we are allowed to set these permissions.
toggleTest(player,town,StringMgmt.join(split, " "));
town.setFire(!town.isFire());
TownyMessaging.sendTownMessage(town, String.format(TownySettings.getLangString("msg_changed_fire"), "Town", town.isFire() ? "Enabled" : "Disabled"));
} else if (split[0].equalsIgnoreCase("mobs")) {
//Make sure we are allowed to set these permissions.
toggleTest(player,town,StringMgmt.join(split, " "));
town.setHasMobs(!town.hasMobs());
TownyMessaging.sendTownMessage(town, String.format(TownySettings.getLangString("msg_changed_mobs"), "Town", town.hasMobs() ? "Enabled" : "Disabled"));
} else if (split[0].equalsIgnoreCase("taxpercent")) {
town.setTaxPercentage(!town.isTaxPercentage());
TownyMessaging.sendTownMessage(town, String.format(TownySettings.getLangString("msg_changed_taxpercent"), town.isTaxPercentage() ? "Enabled" : "Disabled"));
} else if (split[0].equalsIgnoreCase("open")) {
if (plugin.isPermissions() && (!TownyUniverse.getPermissionSource().hasPermission(player, PermissionNodes.TOWNY_TOGGLE_OPEN.getNode())))
throw new Exception(TownySettings.getLangString("msg_err_command_disable"));
town.setOpen(!town.isOpen());
TownyMessaging.sendTownMessage(town, String.format(TownySettings.getLangString("msg_changed_open"), town.isOpen() ? "Enabled" : "Disabled"));
// Send a warning when toggling on (a reminder about plot permissions).
if (town.isOpen())
TownyMessaging.sendErrorMsg(player, String.format(TownySettings.getLangString("msg_toggle_open_on_warning")));
} else {
TownyMessaging.sendErrorMsg(player, String.format(TownySettings.getLangString("msg_err_invalid_property"), "town"));
return;
}
// Propagate perms to all unchanged, town owned, townblocks
for (TownBlock townBlock : town.getTownBlocks()) {
if (!townBlock.hasResident() && !townBlock.isChanged()) {
townBlock.setType(townBlock.getType());
TownyUniverse.getDataSource().saveTownBlock(townBlock);
}
}