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 | 3e519f95d5c6b81ee2c18344c1211789019e7647 (patch) | |
tree | 2311c2dc237632a542260ee6a62273182e5a433c | |
parent | 18d01833648eabd4978a5174f6a12adbcbf33469 (diff) | |
download | Essentials-3e519f95d5c6b81ee2c18344c1211789019e7647.tar Essentials-3e519f95d5c6b81ee2c18344c1211789019e7647.tar.gz Essentials-3e519f95d5c6b81ee2c18344c1211789019e7647.tar.lz Essentials-3e519f95d5c6b81ee2c18344c1211789019e7647.tar.xz Essentials-3e519f95d5c6b81ee2c18344c1211789019e7647.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; } } |