Skip to content

Commit

Permalink
Added /town reslist sub-command to get a list of all residents in the
Browse files Browse the repository at this point in the history
player's town without the 35 residents display limit in /town
  • Loading branch information
pratham2003 committed Dec 29, 2012
1 parent 1d2a54f commit 837ab60
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 2 deletions.
8 changes: 8 additions & 0 deletions src/com/palmergames/bukkit/towny/TownyFormatter.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@ public static List<String> getFormattedOnlineResidents(String prefix, ResidentLi
List<Resident> onlineResidents = TownyUniverse.getOnlineResidentsViewable(player, residentList);
return getFormattedResidents(prefix, onlineResidents);
}

public static List<String> getFormattedResidents(Town town) {
List<String> out = new ArrayList<String>();
TownyWorld world = town.getWorld();
String[] residents = getFormattedNames(town.getResidents().toArray(new Resident[0]));
out.addAll(ChatTools.listArr(residents, Colors.Green + "Residents " + Colors.LightGreen + "[" + town.getNumResidents() + "]" + Colors.Green + ":" + Colors.White + " "));
return out;
}

public static List<String> getFormattedResidents(String prefix, List<Resident> residentList) {

Expand Down
15 changes: 14 additions & 1 deletion src/com/palmergames/bukkit/towny/command/TownCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ public class TownCommand implements CommandExecutor {
output.add(ChatTools.formatCommand("", "/town", "list", ""));
output.add(ChatTools.formatCommand("", "/town", "online", TownySettings.getLangString("town_help_10")));
output.add(ChatTools.formatCommand("", "/town", "leave", ""));
output.add(ChatTools.formatCommand("", "/town", "reslist", ""));
output.add(ChatTools.formatCommand("", "/town", "ranklist", ""));
output.add(ChatTools.formatCommand("", "/town", "spawn", TownySettings.getLangString("town_help_5")));
if (!TownySettings.isTownCreationAdminOnly())
Expand Down Expand Up @@ -246,7 +247,19 @@ private void parseTownCommand(Player player, String[] split) {
throw new TownyException(TownySettings.getLangString("msg_err_dont_belong_town"));
}

} else if (split[0].equalsIgnoreCase("join")) {
} else if (split[0].equalsIgnoreCase("reslist")) {

if (!TownyUniverse.getPermissionSource().testPermission(player, PermissionNodes.TOWNY_COMMAND_TOWN_RESLIST.getNode()))
throw new TownyException(TownySettings.getLangString("msg_err_command_disable"));

try {
Resident resident = TownyUniverse.getDataSource().getResident(player.getName());
Town town = resident.getTown();
TownyMessaging.sendMessage(player, TownyFormatter.getFormattedResidents(town));
} catch (NotRegisteredException x) {
throw new TownyException(TownySettings.getLangString("msg_err_dont_belong_town"));
}
} else if (split[0].equalsIgnoreCase("join")) {

if (!TownyUniverse.getPermissionSource().testPermission(player, PermissionNodes.TOWNY_COMMAND_TOWN_JOIN.getNode()))
throw new TownyException(TownySettings.getLangString("msg_err_command_disable"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ public void onPlayerInteract(PlayerInteractEvent event) {

if ((event.getAction() == Action.PHYSICAL)) {
if ((block.getType() == Material.SOIL) || (block.getType() == Material.CROPS))
if (World.isDisablePlayerTrample()) {
if (World.isDisablePlayerTrample() || !PlayerCacheUtil.getCachePermission(player, block.getLocation(), block.getTypeId(), block.getData(), TownyPermission.ActionType.DESTROY)) {

This comment has been minimized.

Copy link
@pratham2003

pratham2003 Dec 29, 2012

Author Owner

Destroy permission check on player trampling crops.

event.setCancelled(true);
return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ public enum PermissionNodes {

TOWNY_COMMAND_TOWN_UNCLAIM("towny.command.town.unclaim"),
TOWNY_COMMAND_TOWN_ONLINE("towny.command.town.online"),
TOWNY_COMMAND_TOWN_RESLIST("towny.command.town.reslist"),

/*
* Plot command permissions
Expand Down
1 change: 1 addition & 0 deletions src/plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ permissions:
towny.command.town.deposit: true
towny.command.town.rank.*: true
towny.command.town.ranklist: true
towny.command.town.reslist: true
towny.command.town.set.*: true
towny.command.town.buy: true
towny.command.town.toggle.*: true
Expand Down

0 comments on commit 837ab60

Please sign in to comment.