New permission: essentials.teleport.timer.move - allow players to move during tp delay

This commit is contained in:
KHobbits 2012-09-29 23:48:59 +01:00
parent 3083ba2627
commit 872bc4df4c

View file

@ -95,17 +95,17 @@ public class Teleport implements Runnable, ITeleport
return;
}
if (Math.round(teleportUser.getLocation().getX() * MOVE_CONSTANT) != initX
if (!user.isAuthorized("essentials.teleport.timer.move")
&& (Math.round(teleportUser.getLocation().getX() * MOVE_CONSTANT) != initX
|| Math.round(teleportUser.getLocation().getY() * MOVE_CONSTANT) != initY
|| Math.round(teleportUser.getLocation().getZ() * MOVE_CONSTANT) != initZ
|| teleportUser.getHealth() < health)
{ // user moved, cancel teleport
|| teleportUser.getHealth() < health))
{
// user moved, cancel teleport
cancel(true);
return;
}
health = teleportUser.getHealth(); // in case user healed, then later gets injured
long now = System.currentTimeMillis();
if (now > started + delay)
{
@ -302,7 +302,8 @@ public class Teleport implements Runnable, ITeleport
teleTimer = ess.scheduleSyncRepeatingTask(this, 10, 10);
}
private void warnUser(final IUser user) {
private void warnUser(final IUser user)
{
Calendar c = new GregorianCalendar();
c.add(Calendar.SECOND, (int)delay);
c.add(Calendar.MILLISECOND, (int)((delay * 1000.0) % 1000.0));