diff options
author | KHobbits <rob@khobbits.co.uk> | 2013-06-26 21:44:34 +0100 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2013-06-26 21:44:34 +0100 |
commit | 8fedd5076cfef2c9af6a1b1651348272f0313994 (patch) | |
tree | 123cc9fefd8df86fa3c486ba42e60536a7c79217 | |
parent | 129094da2c5bb93ec1df5cee82d2c447554ad587 (diff) | |
download | Essentials-8fedd5076cfef2c9af6a1b1651348272f0313994.tar Essentials-8fedd5076cfef2c9af6a1b1651348272f0313994.tar.gz Essentials-8fedd5076cfef2c9af6a1b1651348272f0313994.tar.lz Essentials-8fedd5076cfef2c9af6a1b1651348272f0313994.tar.xz Essentials-8fedd5076cfef2c9af6a1b1651348272f0313994.zip |
Don't drop oversized stacks on the ground if player doesn't have oversized permission.
-rw-r--r-- | Essentials/src/com/earth2me/essentials/Kit.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Essentials/src/com/earth2me/essentials/Kit.java b/Essentials/src/com/earth2me/essentials/Kit.java index 39fc0fc66..e06727dfb 100644 --- a/Essentials/src/com/earth2me/essentials/Kit.java +++ b/Essentials/src/com/earth2me/essentials/Kit.java @@ -194,7 +194,8 @@ public class Kit } final Map<Integer, ItemStack> overfilled; - if (user.isAuthorized("essentials.oversizedstacks")) + final boolean allowOversizedStacks = user.isAuthorized("essentials.oversizedstacks"); + if (allowOversizedStacks) { overfilled = InventoryWorkaround.addOversizedItems(user.getInventory(), ess.getSettings().getOversizedStackSize(), metaStack.getItemStack()); } @@ -204,7 +205,14 @@ public class Kit } for (ItemStack itemStack : overfilled.values()) { - user.getWorld().dropItemNaturally(user.getLocation(), itemStack); + int spillAmount = itemStack.getAmount(); + if (!allowOversizedStacks) { + itemStack.setAmount(spillAmount < itemStack.getMaxStackSize() ? spillAmount : itemStack.getMaxStackSize()); + } + while (spillAmount > 0) { + user.getWorld().dropItemNaturally(user.getLocation(), itemStack); + spillAmount -= itemStack.getAmount(); + } spew = true; } } |