mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-12 04:20:41 +00:00
Update tp to check if target player has tptoggle disabled.
Update tpo to allow player to player tp.
This commit is contained in:
parent
47cf1289d7
commit
2cc96e995b
3 changed files with 43 additions and 19 deletions
|
@ -49,6 +49,14 @@ public class Commandtp extends EssentialsCommand
|
|||
user.sendMessage(_("teleporting"));
|
||||
final User target = getPlayer(server, args, 0);
|
||||
final User toPlayer = getPlayer(server, args, 1);
|
||||
if (!target.isTeleportEnabled())
|
||||
{
|
||||
throw new Exception(_("teleportDisabled", target.getDisplayName()));
|
||||
}
|
||||
if (!toPlayer.isTeleportEnabled())
|
||||
{
|
||||
throw new Exception(_("teleportDisabled", toPlayer.getDisplayName()));
|
||||
}
|
||||
if (target.getWorld() != toPlayer.getWorld() && ess.getSettings().isWorldTeleportPermissions()
|
||||
&& !user.isAuthorized("essentials.world." + toPlayer.getWorld().getName()))
|
||||
{
|
||||
|
|
|
@ -16,33 +16,49 @@ public class Commandtpo extends EssentialsCommand
|
|||
@Override
|
||||
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
|
||||
{
|
||||
if (args.length < 1)
|
||||
switch (args.length)
|
||||
{
|
||||
case 0:
|
||||
throw new NotEnoughArgumentsException();
|
||||
}
|
||||
|
||||
//Just basically the old tp command
|
||||
case 1:
|
||||
final User player = getPlayer(server, args, 0, true);
|
||||
// Check if user is offline
|
||||
if (!player.isOnline())
|
||||
if (!player.isOnline() || (player.isHidden() && !user.isAuthorized("essentials.teleport.hidden")))
|
||||
{
|
||||
throw new NoSuchFieldException(_("playerNotFound"));
|
||||
}
|
||||
|
||||
// Verify permission
|
||||
if (!player.isHidden() || user.isAuthorized("essentials.teleport.hidden"))
|
||||
{
|
||||
if (user.getWorld() != player.getWorld() && ess.getSettings().isWorldTeleportPermissions()
|
||||
&& !user.isAuthorized("essentials.world." + player.getWorld().getName()))
|
||||
{
|
||||
throw new Exception(_("noPerm", "essentials.world." + player.getWorld().getName()));
|
||||
}
|
||||
user.getTeleport().now(player, false, TeleportCause.COMMAND);
|
||||
user.sendMessage(_("teleporting"));
|
||||
user.getTeleport().now(player, false, TeleportCause.COMMAND);
|
||||
|
||||
default:
|
||||
if (!user.isAuthorized("essentials.tp.others"))
|
||||
{
|
||||
throw new Exception(_("noPerm", "essentials.tp.others"));
|
||||
}
|
||||
else
|
||||
user.sendMessage(_("teleporting"));
|
||||
final User target = getPlayer(server, args, 0, true);
|
||||
final User toPlayer = getPlayer(server, args, 1, true);
|
||||
|
||||
if (!target.isOnline() || !toPlayer.isOnline()
|
||||
|| ((target.isHidden() || toPlayer.isHidden()) && !user.isAuthorized("essentials.teleport.hidden")))
|
||||
{
|
||||
throw new NoSuchFieldException(_("playerNotFound"));
|
||||
}
|
||||
|
||||
if (target.getWorld() != toPlayer.getWorld() && ess.getSettings().isWorldTeleportPermissions()
|
||||
&& !user.isAuthorized("essentials.world." + toPlayer.getWorld().getName()))
|
||||
{
|
||||
throw new Exception(_("noPerm", "essentials.world." + toPlayer.getWorld().getName()));
|
||||
}
|
||||
|
||||
target.getTeleport().now(toPlayer, false, TeleportCause.COMMAND);
|
||||
target.sendMessage(_("teleportAtoB", user.getDisplayName(), toPlayer.getDisplayName()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -375,7 +375,7 @@ commands:
|
|||
aliases: [s,etphere]
|
||||
tpo:
|
||||
description: Teleport override for tptoggle.
|
||||
usage: /<command> <player>
|
||||
usage: /<command> <player> [otherplayer]
|
||||
aliases: [etpo]
|
||||
tpohere:
|
||||
description: Teleport here override for tptoggle.
|
||||
|
|
Loading…
Reference in a new issue