summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandsell.java22
1 files changed, 17 insertions, 5 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsell.java b/Essentials/src/com/earth2me/essentials/commands/Commandsell.java
index ec3262958..a70b1e3cc 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandsell.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandsell.java
@@ -43,7 +43,7 @@ public class Commandsell extends EssentialsCommand
}
try
{
- totalWorth += sellItem(user, stack, args, true);
+ totalWorth += sellItem(user, stack, args, true);
}
catch (Exception e)
{
@@ -164,11 +164,23 @@ public class Commandsell extends EssentialsCommand
}
//TODO: Prices for Enchantments
- final ItemStack ris = is.clone();
- ris.setAmount(amount);
- user.getInventory().removeItem(ris);
+ ItemStack[] pinv = user.getInventory().getContents();
+ int itemIndex = -1;
+ for (int i = 0; i < pinv.length; i++)
+ {
+ if (pinv[i] != null)
+ {
+ if (pinv[i].getType() == is.getType() && pinv[i].getDurability() == is.getDurability())
+ {
+ itemIndex = i;
+ break;
+ }
+ }
+ }
+ pinv[itemIndex].setAmount(pinv[itemIndex].getAmount() - amount);
+ user.getInventory().setContents(pinv);
user.updateInventory();
- Trade.log("Command", "Sell", "Item", user.getName(), new Trade(ris, ess), user.getName(), new Trade(worth * amount, ess), user.getLocation(), ess);
+ Trade.log("Command", "Sell", "Item", user.getName(), new Trade(pinv[itemIndex], ess), user.getName(), new Trade(worth * amount, ess), user.getLocation(), ess);
user.giveMoney(worth * amount);
user.sendMessage(_("itemSold", Util.displayCurrency(worth * amount, ess), amount, is.getType().toString().toLowerCase(Locale.ENGLISH), Util.displayCurrency(worth, ess)));
logger.log(Level.INFO, _("itemSoldConsole", user.getDisplayName(), is.getType().toString().toLowerCase(Locale.ENGLISH), Util.displayCurrency(worth * amount, ess), amount, Util.displayCurrency(worth, ess)));