Permission "essentials.tp.position" not working properly
brunobmello25 opened this issue ยท 2 comments
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
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
.