summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2013-06-26 21:44:34 +0100
committerKHobbits <rob@khobbits.co.uk>2013-06-26 21:44:34 +0100
commit8fedd5076cfef2c9af6a1b1651348272f0313994 (patch)
tree123cc9fefd8df86fa3c486ba42e60536a7c79217
parent129094da2c5bb93ec1df5cee82d2c447554ad587 (diff)
downloadEssentials-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.java12
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;
}
}