diff options
author | snowleo <schneeleo@gmail.com> | 2012-10-15 23:12:02 +0200 |
---|---|---|
committer | snowleo <schneeleo@gmail.com> | 2012-10-15 23:12:02 +0200 |
commit | c74545d614cdb43611923ca153343976633adbe7 (patch) | |
tree | 619e36030517bbab4893dcd5b70ae4488aad0491 | |
parent | 6f34f208b01c5b26af6b0589bacf4c403a4da480 (diff) | |
download | Essentials-c74545d614cdb43611923ca153343976633adbe7.tar Essentials-c74545d614cdb43611923ca153343976633adbe7.tar.gz Essentials-c74545d614cdb43611923ca153343976633adbe7.tar.lz Essentials-c74545d614cdb43611923ca153343976633adbe7.tar.xz Essentials-c74545d614cdb43611923ca153343976633adbe7.zip |
Add command option /more all
-rw-r--r-- | Essentials/src/net/ess3/commands/Commandmore.java | 62 | ||||
-rw-r--r-- | Essentials/src/plugin.yml | 2 |
2 files changed, 41 insertions, 23 deletions
diff --git a/Essentials/src/net/ess3/commands/Commandmore.java b/Essentials/src/net/ess3/commands/Commandmore.java index 9b5a8b8ae..26c7d7de3 100644 --- a/Essentials/src/net/ess3/commands/Commandmore.java +++ b/Essentials/src/net/ess3/commands/Commandmore.java @@ -13,35 +13,53 @@ public class Commandmore extends EssentialsCommand @Override public void run(final IUser user, final String commandLabel, final String[] args) throws Exception { - final ItemStack stack = user.getPlayer().getItemInHand(); - if (stack == null) + ItemStack[] stacks; + if (args.length > 0 && args[0].equalsIgnoreCase("all")) { - throw new Exception(_("cantSpawnItem", "Air")); + stacks = user.getPlayer().getInventory().getContents(); } - ISettings settings = ess.getSettings(); - - int defaultStackSize = settings.getData().getGeneral().getDefaultStacksize(); - int oversizedStackSize = settings.getData().getGeneral().getOversizedStacksize(); - - if (stack.getAmount() >= (Permissions.OVERSIZEDSTACKS.isAuthorized(user) - ? oversizedStackSize - : defaultStackSize > 0 ? defaultStackSize : stack.getMaxStackSize())) - { - throw new NoChargeException(); - } - final String itemname = stack.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", ""); - if (!Permissions.ITEMSPAWN.isAuthorized(user, stack)) + else { - throw new Exception(_("cantSpawnItem", itemname)); + stacks = new ItemStack[] + { + user.getPlayer().getItemInHand() + }; } - if (Permissions.OVERSIZEDSTACKS.isAuthorized(user)) + for (ItemStack stack : stacks) { - stack.setAmount(oversizedStackSize); + if (stack == null) + { + throw new Exception(_("cantSpawnItem", "Air")); + } + ISettings settings = ess.getSettings(); + + int defaultStackSize = settings.getData().getGeneral().getDefaultStacksize(); + int oversizedStackSize = settings.getData().getGeneral().getOversizedStacksize(); + + if (stack.getAmount() >= (Permissions.OVERSIZEDSTACKS.isAuthorized(user) + ? oversizedStackSize + : defaultStackSize > 0 ? defaultStackSize : stack.getMaxStackSize())) + { + throw new NoChargeException(); + } + final String itemname = stack.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", ""); + if (!Permissions.ITEMSPAWN.isAuthorized(user, stack)) + { + throw new Exception(_("cantSpawnItem", itemname)); + } + if (Permissions.OVERSIZEDSTACKS.isAuthorized(user)) + { + stack.setAmount(oversizedStackSize); + } + else + { + stack.setAmount(defaultStackSize > 0 ? defaultStackSize : stack.getMaxStackSize()); + } } - else + if (stacks.length > 1) { - stack.setAmount(defaultStackSize > 0 ? defaultStackSize : stack.getMaxStackSize()); + user.getPlayer().getInventory().setContents(stacks); } user.getPlayer().updateInventory(); } -}
\ No newline at end of file +} diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index a7fa9e8dd..6be38184a 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -224,7 +224,7 @@ commands: aliases: [action,describe,eme,eaction,edescribe] more: description: Fills the item stack in hand to maximum size. - usage: /<command> + usage: /<command> [all] aliases: [emore] motd: description: Views the Message Of The Day. |