1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-10 16:48:05 +02:00

Fixing warp command costs.

This commit is contained in:
KHobbits
2012-03-13 16:15:01 +00:00
parent 09bc09c0db
commit a0373a4eea
2 changed files with 18 additions and 5 deletions

View File

@@ -158,11 +158,9 @@ public class Trade
InventoryWorkaround.removeItem(user.getInventory(), true, true, getItemStack()); InventoryWorkaround.removeItem(user.getInventory(), true, true, getItemStack());
user.updateInventory(); user.updateInventory();
} }
if (command != null && !command.isEmpty() if (command != null)
&& !user.isAuthorized("essentials.nocommandcost.all")
&& !user.isAuthorized("essentials.nocommandcost." + command))
{ {
final double cost = ess.getSettings().getCommandCost(command.charAt(0) == '/' ? command.substring(1) : command); final double cost = getCommandCost(user);
if (!user.canAfford(cost) && cost > 0) if (!user.canAfford(cost) && cost > 0)
{ {
throw new ChargeException(_("notEnoughMoney")); throw new ChargeException(_("notEnoughMoney"));
@@ -194,6 +192,18 @@ public class Trade
{ {
return exp; return exp;
} }
public Double getCommandCost(final IUser user)
{
double cost = 0d;
if (command != null && !command.isEmpty()
&& !user.isAuthorized("essentials.nocommandcost.all")
&& !user.isAuthorized("essentials.nocommandcost." + command))
{
cost = ess.getSettings().getCommandCost(command.charAt(0) == '/' ? command.substring(1) : command);
}
return cost;
}
private static FileWriter fw = null; private static FileWriter fw = null;
public static void log(String type, String subtype, String event, String sender, Trade charge, String receiver, Trade pay, Location loc, IEssentials ess) public static void log(String type, String subtype, String event, String sender, Trade charge, String receiver, Trade pay, Location loc, IEssentials ess)

View File

@@ -115,7 +115,10 @@ public class Commandwarp extends EssentialsCommand
private void warpUser(final User owner, final User user, final String name) throws Exception private void warpUser(final User owner, final User user, final String name) throws Exception
{ {
final Trade charge = new Trade("warp-" + name.toLowerCase(Locale.ENGLISH).replace('_', '-'), ess); final Trade chargeWarp = new Trade("warp-" + name.toLowerCase(Locale.ENGLISH).replace('_', '-'), ess);
final Trade chargeCmd = new Trade(this.getName(), ess);
final double fullCharge = chargeWarp.getCommandCost(user) + chargeCmd.getCommandCost(user);
final Trade charge = new Trade(fullCharge, ess);
charge.isAffordableFor(owner); charge.isAffordableFor(owner);
if (ess.getSettings().getPerWarpPermission() && !owner.isAuthorized("essentials.warp." + name)) if (ess.getSettings().getPerWarpPermission() && !owner.isAuthorized("essentials.warp." + name))
{ {