EssentialsX

EssentialsX

2M Downloads

Permission "essentials.tp.position" not working properly

brunobmello25 opened this issue ยท 2 comments

commented

Information

Full output of /ess version:

Server version: 1.13.1-R0.1-SNAPSHOT
git-Spigot-2440e18-4228a56 (MC: 1.13.1)
EssentialsX version: 2.15.0.1
LuckPerms version: 4.3.7
Vault version: 1.7.1-b91

Server log: https://gist.github.com/brunobmello25/0a1399c5d31378673fdc5256911131de#file-latest-log

EssentialsX config https://gist.github.com/brunobmello25/b2c4ecb0d9499a17dfc26a0526b5d6b9#file-config-yml

Help request

Problem
Giving the "essentials.tp.position" permission to a group, but not giving them the "essentials.tp" permission doesn't allow them to teleport to a specific coordinate. In theory, they should be able to teleport to specific coordinates, but not teleport to another player, but for some reason they can't do neither of these.
If I give them the "essentials.tp" permission node, they will be able to teleport to a player as well as a coordinate.
I believe the correct behaviour of this permission node would be something like:

  • A player with "essentials.tp" can teleport to a coordinate and a player.
  • A player with "essentials.tp.position" can only teleport to a coordinate.

What I have tried
I've tried giving a player only the "essentials.tp.position", giving both "essentials.tp" and "essentials.tp.position", and giving only "essentials.tp". Neither of this work for me. They will either be able to teleport directly to a player or a position, or won't be able to teleport at all

commented

Thanks for the detailed support request!

The way EssentialsX does command permissions checks means that to use the /tp command at all, you need to have essentials.tp. The /tp command has an additional check for essentials.tp.position, but this check only happens once EssentialsX has already checked whether they have essentials.tp.

As an alternative, you can use /tppos. This only checks for the permission essentials.tppos, and takes the input /tppos <x> <y> <z> [yaw] [pitch] [world] (and if you include a world in the command and have per-world teleport permissions turned on, it will also check essentials.world.<world>). You can also alias tp to essentials:tppos if you want to replace /tp with /tppos.

commented

Thank you very much! I will alias tp to essentials:tppos, I believe that will solve my problem. Thanks a lot!