diff options
author | GunfighterJ <joseph.jenniges@gmail.com> | 2013-01-28 22:30:00 -0600 |
---|---|---|
committer | GunfighterJ <joseph.jenniges@gmail.com> | 2013-01-28 23:11:43 -0600 |
commit | 3ae56b54b025164adbad5dc0f29ab83d194ae5f3 (patch) | |
tree | 460c1a3c3587f32884a986309274343669069acc | |
parent | 5da8b9fa9170a53387b289529260d6b49a9a4856 (diff) | |
download | Essentials-3ae56b54b025164adbad5dc0f29ab83d194ae5f3.tar Essentials-3ae56b54b025164adbad5dc0f29ab83d194ae5f3.tar.gz Essentials-3ae56b54b025164adbad5dc0f29ab83d194ae5f3.tar.lz Essentials-3ae56b54b025164adbad5dc0f29ab83d194ae5f3.tar.xz Essentials-3ae56b54b025164adbad5dc0f29ab83d194ae5f3.zip |
Ignore itemmeta on sell
-rw-r--r-- | Essentials/src/com/earth2me/essentials/commands/Commandsell.java | 22 |
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))); |