diff options
-rw-r--r-- | Essentials/src/com/earth2me/essentials/User.java | 18 | ||||
-rw-r--r-- | Essentials/src/com/earth2me/essentials/commands/Commandunlimited.java | 25 | ||||
-rw-r--r-- | Essentials/src/plugin.yml | 2 |
3 files changed, 31 insertions, 14 deletions
diff --git a/Essentials/src/com/earth2me/essentials/User.java b/Essentials/src/com/earth2me/essentials/User.java index d90ae7c73..019b6e2c9 100644 --- a/Essentials/src/com/earth2me/essentials/User.java +++ b/Essentials/src/com/earth2me/essentials/User.java @@ -698,21 +698,21 @@ public class User extends PlayerExtension implements Comparable<User> return !Essentials.getSettings().itemSpawnBlacklist().contains(itemId); } - public boolean hasUnlimited(ItemStack stack) { + @SuppressWarnings("unchecked") + public List<Integer> getUnlimited() { if (!data.containsKey("unlimited")) { - return false; + return new ArrayList<Integer>(); } - @SuppressWarnings("unchecked") - List<Integer> items = (List<Integer>)data.get("unlimited"); - return items.contains(stack.getTypeId()); + return (List<Integer>)data.get("unlimited"); + } + + public boolean hasUnlimited(ItemStack stack) { + return getUnlimited().contains(stack.getTypeId()); } @SuppressWarnings("unchecked") public void setUnlimited(ItemStack stack, boolean state) { - List<Integer> items = new ArrayList<Integer>(); - if (data.containsKey("unlimited")) { - items = (List<Integer>)data.get("unlimited"); - } + List<Integer> items = getUnlimited(); if (items.contains(stack.getTypeId())) { items.remove(Integer.valueOf(stack.getTypeId())); } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandunlimited.java b/Essentials/src/com/earth2me/essentials/commands/Commandunlimited.java index a8e885763..8ea13a786 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandunlimited.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandunlimited.java @@ -22,16 +22,33 @@ public class Commandunlimited extends EssentialsCommand { if (args.length < 1) { - user.sendMessage("§cUsage: /" + commandLabel + " [item] <player>"); + user.sendMessage("§cUsage: /" + commandLabel + " [list|item] <player>"); return; } - ItemStack stack = ItemDb.get(args[0], 1); - + User target = user; if (args.length > 1 && user.isAuthorized("essentials.unlimited.others")) { target = getPlayer(server, args, 1); - } + } + + if (args[0].equalsIgnoreCase("list")) { + StringBuilder sb = new StringBuilder(); + sb.append("Unlimited items: "); + boolean first = true; + for (Integer integer : target.getUnlimited()) { + if (!first) { + sb.append(", "); + first = true; + } + String matname = Material.getMaterial(integer).toString().toLowerCase().replace("_", "-"); + sb.append(matname); + } + user.sendMessage(sb.toString()); + return; + } + + ItemStack stack = ItemDb.get(args[0], 1); String itemname = stack.getType().toString().toLowerCase().replace("_", "-"); if (!user.isAuthorized("essentials.unlimited.item-add") && diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index 289a60aa9..e91caeb65 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -239,7 +239,7 @@ commands: aliases: pardonip
unlimited:
description: Allows the unlimited placing of items.
- usage: /<command> [item] <player>
+ usage: /<command> [list|item] <player>
warp:
description: List all warps or warp to the specified location.
usage: /<command> <warp>
|