diff options
author | KHobbits <rob@khobbits.co.uk> | 2013-12-21 23:19:58 +0000 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2013-12-21 23:19:58 +0000 |
commit | 203c58f41cb2580b722c48b3db281cc0f6e6c2d6 (patch) | |
tree | 1ab51a840358dbf092c5a3763af7c976716c9ed0 | |
parent | 307a460dee85c8e18d8a33ce2ac697b6d2d9a599 (diff) | |
download | Essentials-203c58f41cb2580b722c48b3db281cc0f6e6c2d6.tar Essentials-203c58f41cb2580b722c48b3db281cc0f6e6c2d6.tar.gz Essentials-203c58f41cb2580b722c48b3db281cc0f6e6c2d6.tar.lz Essentials-203c58f41cb2580b722c48b3db281cc0f6e6c2d6.tar.xz Essentials-203c58f41cb2580b722c48b3db281cc0f6e6c2d6.zip |
Check command cost permissions prior to teleporting. Fixes ESS-4918
-rw-r--r-- | Essentials/src/com/earth2me/essentials/Teleport.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Essentials/src/com/earth2me/essentials/Teleport.java b/Essentials/src/com/earth2me/essentials/Teleport.java index c46ceedf5..821f0f392 100644 --- a/Essentials/src/com/earth2me/essentials/Teleport.java +++ b/Essentials/src/com/earth2me/essentials/Teleport.java @@ -7,7 +7,6 @@ import java.util.Calendar; import java.util.GregorianCalendar; import net.ess3.api.IEssentials; import net.ess3.api.IUser; -import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerRespawnEvent; @@ -153,26 +152,29 @@ public class Teleport implements net.ess3.api.ITeleport { double delay = ess.getSettings().getTeleportDelay(); + Trade cashCharge = null; if (chargeFor != null) { chargeFor.isAffordableFor(teleportOwner); + cashCharge = new Trade(chargeFor.getCommandCost(teleportOwner), ess); } + cooldown(true); if (delay <= 0 || teleportOwner.isAuthorized("essentials.teleport.timer.bypass") || teleportee.isAuthorized("essentials.teleport.timer.bypass")) { cooldown(false); now(teleportee, target, cause); - if (chargeFor != null) + if (cashCharge != null) { - chargeFor.charge(teleportOwner); + cashCharge.charge(teleportOwner); } return; } cancel(false); warnUser(teleportee, delay); - initTimer((long)(delay * 1000.0), teleportee, target, chargeFor, cause, false); + initTimer((long)(delay * 1000.0), teleportee, target, cashCharge, cause, false); } //The respawn function is a wrapper used to handle tp fallback, on /jail and /home |