diff --git a/Essentials/src/main/java/com/earth2me/essentials/Kit.java b/Essentials/src/main/java/com/earth2me/essentials/Kit.java index 2c9753e0428..e32ade33e33 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/Kit.java +++ b/Essentials/src/main/java/com/earth2me/essentials/Kit.java @@ -242,10 +242,10 @@ public boolean expandItems(final User user, final List items) throws Exc for (final ItemStack itemStack : leftover.values()) { int spillAmount = itemStack.getAmount(); - if (maxStackSize != 0) { - itemStack.setAmount(Math.min(spillAmount, itemStack.getMaxStackSize())); - } while (spillAmount > 0) { + if (maxStackSize != 0) { + itemStack.setAmount(Math.min(spillAmount, itemStack.getMaxStackSize())); + } user.getWorld().dropItemNaturally(user.getLocation(), itemStack); spillAmount -= itemStack.getAmount(); } diff --git a/Essentials/src/main/java/com/earth2me/essentials/Trade.java b/Essentials/src/main/java/com/earth2me/essentials/Trade.java index d0dceb11114..5168e2d76ca 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/Trade.java +++ b/Essentials/src/main/java/com/earth2me/essentials/Trade.java @@ -242,8 +242,8 @@ public Map pay(final IUser user, final OverflowType type) th } else { for (final ItemStack itemStack : leftover.values()) { int spillAmount = itemStack.getAmount(); - itemStack.setAmount(Math.min(spillAmount, itemStack.getMaxStackSize())); while (spillAmount > 0) { + itemStack.setAmount(Math.min(spillAmount, itemStack.getMaxStackSize())); user.getBase().getWorld().dropItemNaturally(user.getBase().getLocation(), itemStack); spillAmount -= itemStack.getAmount(); } diff --git a/Essentials/src/main/java/com/earth2me/essentials/signs/EssentialsSign.java b/Essentials/src/main/java/com/earth2me/essentials/signs/EssentialsSign.java index f7bd95ba7c6..7e6e1bc3cd0 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/signs/EssentialsSign.java +++ b/Essentials/src/main/java/com/earth2me/essentials/signs/EssentialsSign.java @@ -12,6 +12,7 @@ import com.earth2me.essentials.utils.VersionUtil; import net.ess3.api.IEssentials; import net.ess3.api.MaxMoneyException; +import net.ess3.api.TranslatableException; import net.ess3.api.events.SignBreakEvent; import net.ess3.api.events.SignCreateEvent; import net.ess3.api.events.SignInteractEvent; @@ -411,6 +412,10 @@ protected final ItemStack getItemStack(final String itemName, final int quantity item.setAmount(quantity); return item; } catch (final Exception ex) { + if (ex instanceof TranslatableException) { + final TranslatableException te = (TranslatableException) ex; + throw new SignException(ex, te.getTlKey(), te.getArgs()); + } throw new SignException(ex, "errorWithMessage", ex.getMessage()); } }