Added support for teleporting to hidden players

Permission: essentials.teleport.hidden
This commit is contained in:
okamosy 2011-08-11 15:52:34 +01:00
parent 6fa2b14d65
commit 65df249510
2 changed files with 39 additions and 8 deletions

View File

@ -1,5 +1,6 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.OfflinePlayer;
import org.bukkit.Server;
import com.earth2me.essentials.User;
import com.earth2me.essentials.Util;
@ -21,9 +22,23 @@ public class Commandtpo extends EssentialsCommand
}
//Just basically the old tp command
User p = getPlayer(server, args, 0);
charge(user);
user.getTeleport().now(p, false);
user.sendMessage(Util.i18n("teleporting"));
User p = getPlayer(server, args, 0, true);
// Check if user is offline
if (p.getBase() instanceof OfflinePlayer)
{
throw new NoSuchFieldException(Util.i18n("playerNotFound"));
}
// Verify permission
if (!p.isHidden() || user.isAuthorized("essentials.teleport.hidden"))
{
charge(user);
user.getTeleport().now(p, false);
user.sendMessage(Util.i18n("teleporting"));
}
else
{
throw new NoSuchFieldException(Util.i18n("playerNotFound"));
}
}
}

View File

@ -1,5 +1,6 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.OfflinePlayer;
import org.bukkit.Server;
import com.earth2me.essentials.User;
import com.earth2me.essentials.Util;
@ -21,9 +22,24 @@ public class Commandtpohere extends EssentialsCommand
}
//Just basically the old tphere command
User p = getPlayer(server, args, 0);
charge(user);
p.getTeleport().now(user, false);
user.sendMessage(Util.i18n("teleporting"));
User p = getPlayer(server, args, 0, true);
// Check if user is offline
if (p.getBase() instanceof OfflinePlayer)
{
throw new NoSuchFieldException(Util.i18n("playerNotFound"));
}
// Verify permission
if (!p.isHidden() || user.isAuthorized("essentials.teleport.hidden"))
{
charge(user);
p.getTeleport().now(user, false);
user.sendMessage(Util.i18n("teleporting"));
}
else
{
throw new NoSuchFieldException(Util.i18n("playerNotFound"));
}
}
}