summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsnowleo <schneeleo@gmail.com>2011-11-27 10:59:28 +0100
committersnowleo <schneeleo@gmail.com>2011-11-27 10:59:28 +0100
commitd5db9d404aefd8ddc96c916119e63caee3f6083d (patch)
treef53b08bee2572955c935451dfcefa430390b8de0
parent0c0c9573be219c15778af830a775b268d1d95c82 (diff)
downloadEssentials-d5db9d404aefd8ddc96c916119e63caee3f6083d.tar
Essentials-d5db9d404aefd8ddc96c916119e63caee3f6083d.tar.gz
Essentials-d5db9d404aefd8ddc96c916119e63caee3f6083d.tar.lz
Essentials-d5db9d404aefd8ddc96c916119e63caee3f6083d.tar.xz
Essentials-d5db9d404aefd8ddc96c916119e63caee3f6083d.zip
Revert to the old behavior of oversized stacks. We might remove or change this in the future.
-rw-r--r--Essentials/src/com/earth2me/essentials/InventoryWorkaround.java11
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandgive.java2
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commanditem.java2
3 files changed, 10 insertions, 5 deletions
diff --git a/Essentials/src/com/earth2me/essentials/InventoryWorkaround.java b/Essentials/src/com/earth2me/essentials/InventoryWorkaround.java
index a5cfdd036..4ce5cb52e 100644
--- a/Essentials/src/com/earth2me/essentials/InventoryWorkaround.java
+++ b/Essentials/src/com/earth2me/essentials/InventoryWorkaround.java
@@ -81,6 +81,11 @@ public final class InventoryWorkaround
public static Map<Integer, ItemStack> addItem(final Inventory cinventory, final boolean forceDurability, final ItemStack... items)
{
+ return addItem(cinventory, forceDurability, false, null, items);
+ }
+
+ public static Map<Integer, ItemStack> addItem(final Inventory cinventory, final boolean forceDurability, final boolean dontBreakStacks, final IEssentials ess, final ItemStack... items)
+ {
final Map<Integer, ItemStack> leftover = new HashMap<Integer, ItemStack>();
/* TODO: some optimization
@@ -142,10 +147,10 @@ public final class InventoryWorkaround
else
{
// More than a single stack!
- if (item.getAmount() > item.getType().getMaxStackSize())
+ if (item.getAmount() > (dontBreakStacks ? ess.getSettings().getDefaultStackSize() : item.getType().getMaxStackSize()))
{
ItemStack stack = item.clone();
- stack.setAmount(item.getType().getMaxStackSize());
+ stack.setAmount(dontBreakStacks ? ess.getSettings().getDefaultStackSize() : item.getType().getMaxStackSize());
EnchantmentFix.setItem(cinventory, firstFree, stack);
item.setAmount(item.getAmount() - item.getType().getMaxStackSize());
}
@@ -164,7 +169,7 @@ public final class InventoryWorkaround
final int amount = item.getAmount();
final int partialAmount = partialItem.getAmount();
- final int maxAmount = partialItem.getType().getMaxStackSize();
+ final int maxAmount = dontBreakStacks ? ess.getSettings().getDefaultStackSize() : partialItem.getType().getMaxStackSize();
// Check if it fully fits
if (amount + partialAmount <= maxAmount)
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgive.java b/Essentials/src/com/earth2me/essentials/commands/Commandgive.java
index a9d9bdd6c..32b0564b7 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandgive.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandgive.java
@@ -77,7 +77,7 @@ public class Commandgive extends EssentialsCommand
final User giveTo = getPlayer(server, args, 0);
final String itemName = stack.getType().toString().toLowerCase(Locale.ENGLISH).replace('_', ' ');
sender.sendMessage(ChatColor.BLUE + "Giving " + stack.getAmount() + " of " + itemName + " to " + giveTo.getDisplayName() + ".");
- InventoryWorkaround.addItem(giveTo.getInventory(), true, stack);
+ InventoryWorkaround.addItem(giveTo.getInventory(), true, true, ess, stack);
giveTo.updateInventory();
}
}
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commanditem.java b/Essentials/src/com/earth2me/essentials/commands/Commanditem.java
index 8bdec5e4f..0d30b4e77 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commanditem.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commanditem.java
@@ -72,7 +72,7 @@ public class Commanditem extends EssentialsCommand
final String displayName = stack.getType().toString().toLowerCase(Locale.ENGLISH).replace('_', ' ');
user.sendMessage(_("itemSpawn", stack.getAmount(), displayName));
- InventoryWorkaround.addItem(user.getInventory(), true, stack);
+ InventoryWorkaround.addItem(user.getInventory(), true, true, ess, stack);
user.updateInventory();
}
}