summaryrefslogtreecommitdiffstats
path: root/Essentials/src/com/earth2me/essentials/Trade.java
diff options
context:
space:
mode:
Diffstat (limited to 'Essentials/src/com/earth2me/essentials/Trade.java')
-rw-r--r--Essentials/src/com/earth2me/essentials/Trade.java30
1 files changed, 12 insertions, 18 deletions
diff --git a/Essentials/src/com/earth2me/essentials/Trade.java b/Essentials/src/com/earth2me/essentials/Trade.java
index f92a1d504..bcfd35d35 100644
--- a/Essentials/src/com/earth2me/essentials/Trade.java
+++ b/Essentials/src/com/earth2me/essentials/Trade.java
@@ -96,38 +96,32 @@ public class Trade
}
public void pay(final IUser user)
- {
- pay(user, true);
+ {
+ try
+ {
+ pay(user, true);
+ }
+ catch (ChargeException ex)
+ {
+ //This should never ever get here... true above means items get dropped.
+ user.sendMessage(ex.getMessage());
+ }
}
- public boolean pay(final IUser user, final boolean dropItems)
+ public void pay(final IUser user, final boolean dropItems) throws ChargeException
{
- boolean success = true;
if (getMoney() != null && getMoney() > 0)
{
user.giveMoney(getMoney());
}
if (getItemStack() != null)
{
- if (dropItems)
- {
- final Map<Integer, ItemStack> leftOver = InventoryWorkaround.addItem(user.getInventory(), true, getItemStack());
- for (ItemStack itemStack : leftOver.values())
- {
- InventoryWorkaround.dropItem(user.getLocation(), itemStack);
- }
- }
- else
- {
- success = InventoryWorkaround.addAllItems(user.getInventory(), true, getItemStack());
- }
- user.updateInventory();
+ user.giveItems(itemStack, dropItems);
}
if (getExperience() != null)
{
SetExpFix.setTotalExperience(user, SetExpFix.getTotalExperience(user) + getExperience());
}
- return success;
}
public void charge(final IUser user) throws ChargeException