EssentialsX

EssentialsX

2M Downloads

Cross-dimension teleport does not put you exactly where the other person is.

mibby opened this issue ยท 14 comments

commented

Information

Server version: 1.15.2-R0.1-SNAPSHOT git-Tuinity-"a249442" (MC: 1.15.2)
EssentialsX version: 2.17.2.86
PlaceholderAPI version: 2.10.7-DEV-90
LuckPerms version: 5.1.15
Vault version: 1.7.3-b${env.TRAVIS_BUILD_NUMBER}
Citizens version: 2.0.26-SNAPSHOT (build 1959)
EssentialsXAntiBuild version: 2.17.2.86
EssentialsXSpawn version: 2.17.2.86

EssentialsX config:
https://paste.ubuntu.com/p/8CNKvc9ts4/

Details

Description
Teleporting to a player cross-dimension / different worlds while they are floating in the air has you put on the ground instead of next to them.

Steps to reproduce

  • Player 1 has fly on and is in the air.
  • Player 2 has fly on and is in the air.
  • Player 1 is in the world world.
  • Player 2 is in the spawn world.
  • Player 2 forcefully teleports to Player 1 with /tp <name>.
  • Player 2 is put on the ground instead of next to them in the air.

  • If you teleport to them from the same world, you are correctly put inside them.
  • Using the vanilla minecraft command /minecraft:teleport <name> <name>, you are correctly teleported cross-dimension next to them in the air. Indicating this is an Essentials bug.

Expected behavior
Teleported inside the player next to them at the same elevation.

commented

@JRoy Still an issue as of EssentialsX dev 930 and Paper dev 347. :(

Has there been any update on merging your PR to possibly fix this issue? Easily reproducable with cross-dimension teleporting with targets in the air and caused by Essentials since the vanilla minecraft teleport command works without flaws.

commented

@mibby try the builds on #3102 (the latest comment on there by md has the jar files)

commented

@JRoy Unfortunately the bug is still present with EssentialsX-test-async-teleport.1.

Cross dimension teleporting (different worlds) does not teleport you to the same y-height as the target player if they are in the air.

commented

I will look into this further later

commented

Fixed in #3102

commented

@JRoy Confirmed partially fixed with commit 9efa114

If you are in creative, you properly teleport cross-dimension to where the other player is if they are in the air.

However if you are in survival with fly enabled, you still do not seem to teleport directly to them. Can you add a check if flight mode is enabled and you are in the air (ensuring that you would teleport safely), you teleport to their exact location instead of to the ground?

commented

Fixed with 7ad5bb6

commented

The fix for this has been merged as part of #3102. You can download the latest dev builds from the EssentialsX website.

commented

Works as intended teleportation safety, give the player fly permissions, or set their gamemode to creative.

commented

@JRoy What? Both players have fly permissions. One is an admin that inherits a wildcard *, the other is a staff member who inherits essentials.fly. The admin (player 2) was in creative when teleporting to the target.

The bug is when you teleport across different worlds, if the target player is in the air you are put on the ground. If you are in the same world, you teleport next to them in the air fine. If you use the vanilla teleport command, cross dimension / different world teleports work fine.

commented

@mibby can you do /essentials debug, do the teleport you were doing, and then share your console log here

commented

https://paste.ubuntu.com/p/rFD4X8DtTf/

Teleported to the player fabsii. Both of us are Admins who have a * wildcard inheritance permission. Fabsii is in the world overworld with fly enabled and hovering 20 blocks above in the air. I'm in the spawn world with fly enabled and in creative, hovering in the air. I teleported to him and ended up on the ground.

Again, y height seems to get lost when traversing dimensions on teleport. Vanilla teleport command works fine.

link

commented

@mibby do you want to test with the builds available here: #3102 and let me know if the same bug occurs?

commented

@JRoy If you compile the test builds against latest upstream changes, I can give it a test, sure.