Fix isAffordableFor in Trade class

This fixes buy signs giving out items, when the player has essentials.eco.loan permission, but min-money in config is set to 0.
This commit is contained in:
snowleo 2012-03-28 10:36:10 +02:00
parent a7df8a1a0a
commit 32c689e0f5

View file

@ -56,11 +56,9 @@ public class Trade
public void isAffordableFor(final IUser user) throws ChargeException public void isAffordableFor(final IUser user) throws ChargeException
{ {
final double mon = user.getMoney();
if (getMoney() != null if (getMoney() != null
&& mon < getMoney()
&& getMoney() > 0 && getMoney() > 0
&& !user.isAuthorized("essentials.eco.loan")) && user.canAfford(getMoney()))
{ {
throw new ChargeException(_("notEnoughMoney")); throw new ChargeException(_("notEnoughMoney"));
} }
@ -71,12 +69,10 @@ public class Trade
throw new ChargeException(_("missingItems", getItemStack().getAmount(), getItemStack().getType().toString().toLowerCase(Locale.ENGLISH).replace("_", " "))); throw new ChargeException(_("missingItems", getItemStack().getAmount(), getItemStack().getType().toString().toLowerCase(Locale.ENGLISH).replace("_", " ")));
} }
double money;
if (command != null && !command.isEmpty() if (command != null && !command.isEmpty()
&& !user.isAuthorized("essentials.nocommandcost.all") && 0 < (money = getCommandCost(user))
&& !user.isAuthorized("essentials.nocommandcost." + command) && user.canAfford(money))
&& mon < ess.getSettings().getCommandCost(command.charAt(0) == '/' ? command.substring(1) : command)
&& 0 < ess.getSettings().getCommandCost(command.charAt(0) == '/' ? command.substring(1) : command)
&& !user.isAuthorized("essentials.eco.loan"))
{ {
throw new ChargeException(_("notEnoughMoney")); throw new ChargeException(_("notEnoughMoney"));
} }