mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-12 04:20:41 +00:00
Make /home and /back obey the world perm system.
This will prevent players from moving between words using virtually all essentials commands. ATM /warp is excepted, because we already have per warp permissions. Ess3 may see warp permissions altered to: essentials.warp.<world>.<warpname>
This commit is contained in:
parent
1c0838aa5d
commit
faa3a5e027
3 changed files with 19 additions and 3 deletions
|
@ -16,6 +16,11 @@ public class Commandback extends EssentialsCommand
|
|||
@Override
|
||||
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
|
||||
{
|
||||
if (user.getWorld() != user.getLastLocation().getWorld() && ess.getSettings().isWorldTeleportPermissions()
|
||||
&& !user.isAuthorized("essentials.world." + user.getLastLocation().getWorld().getName()))
|
||||
{
|
||||
throw new Exception(_("noPerm", "essentials.world." + user.getLastLocation().getWorld().getName()));
|
||||
}
|
||||
final Trade charge = new Trade(this.getName(), ess);
|
||||
charge.isAffordableFor(user);
|
||||
user.sendMessage(_("backUsageMsg"));
|
||||
|
|
|
@ -54,7 +54,7 @@ public class Commandhome extends EssentialsCommand
|
|||
throw new NoChargeException();
|
||||
}
|
||||
}
|
||||
user.getTeleport().home(player, homeName.toLowerCase(Locale.ENGLISH), charge);
|
||||
goHome(user, player, homeName.toLowerCase(Locale.ENGLISH), charge);
|
||||
}
|
||||
catch (NotEnoughArgumentsException e)
|
||||
{
|
||||
|
@ -80,7 +80,7 @@ public class Commandhome extends EssentialsCommand
|
|||
}
|
||||
else if (homes.size() == 1 && player.equals(user))
|
||||
{
|
||||
user.getTeleport().home(player, homes.get(0), charge);
|
||||
goHome(user, player, homes.get(0), charge);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -93,4 +93,14 @@ public class Commandhome extends EssentialsCommand
|
|||
}
|
||||
throw new NoChargeException();
|
||||
}
|
||||
|
||||
private void goHome(final User user, final User player, final String home, final Trade charge) throws Exception
|
||||
{
|
||||
if (user.getWorld() != player.getHome(home).getWorld() && ess.getSettings().isWorldTeleportPermissions()
|
||||
&& !user.isAuthorized("essentials.world." + player.getHome(home).getWorld().getName()))
|
||||
{
|
||||
throw new Exception(_("noPerm", "essentials.world." + player.getHome(home).getWorld().getName()));
|
||||
}
|
||||
user.getTeleport().home(player, home, charge);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -284,7 +284,8 @@ death-messages: true
|
|||
no-god-in-worlds:
|
||||
# - world_nether
|
||||
|
||||
# Set to true to enable per-world permissions for teleporting with /world, /tp ,/tpa and /tpo.
|
||||
# Set to true to enable per-world permissions for teleporting between worlds with essentials commands
|
||||
# This applies to /world, /home, /back, /tp[a|o][here|all], but not warps.
|
||||
# Give someone permission to teleport to a world with essentials.world.<worldname>
|
||||
world-teleport-permissions: false
|
||||
|
||||
|
|
Loading…
Reference in a new issue