1

SOLVED: Seamless teleportation no longer works in 1.16.4

Tim355's Avatar Tim35512/5/20 7:48 am
1 emeralds 1.3k 3
12/5/2020 8:57 am
Tim355's Avatar Tim355
In my non eludian map I was using hidden command blocks with the command "/tp @a[​r=1] ~5 ~ ~-5" to create a seemingly endless corridor. The reason it was seamless is because the player coordinates were subtracted. I recently updated my map 1.16.4 to use the new blocks and the structure block. None of the command blocks were working. I tried the 'New method' using "/tp @a[​dy=1] ~-5 ~ ~4". But instead of subtracting the cords it just teleport you to a specific coordinate, making the teleportation noticeable. Is there anyway to create seamless teleportation in 1.16.4?
Posted by Tim355's Avatar
Tim355
Level 1 : New System
2

Create an account or sign in to comment.

3

garlicbreathinator
12/05/2020 8:43 am
Level 31 : Artisan Engineer
garlicbreathinator's Avatar
In 1.13, many commands were changed. /scoreboard teams is now /team, /scoreboard players tag is now /tag, /execute is completely revamped, /testfor, /testforblock, and /testforblocks are now all part of /execute if, and many selector arguments have been changed.



Since 1.13, the "r" selector argument has been replaced with distance: @a[​distance=<range>]. Ranges are a new type of value used in a couple different spots (also used in scoreboards and some other selector arguments) that works like this:

range value
meaning
4
exactly 4 (blocks away)
..4
4 or less (blocks away, equivalent to r=4)
4..
4 or more (blocks away)
4..8
4 to 8 (blocks away)



This is the first issue. Instead of @a[​r=1] you want @a[​distance=..1]. The second is that /tp now works just like /teleport: The relative coordinates are relative to the command's execution point, not the target's location. This means that "/tp @p ~ ~1 ~" in a command block teleports the player above the command block instead of above their current location. You instead want to use /execute with "as" and "at" arguments. This will use the new @s selector, which selects the entity running the command. The final command is:
/execute as @a[​distance=..1] at @s run tp @s ~5 ~ ~-5

I recommend you read up on the new command syntax, as a lot has changed and it allows you to do much more than the old stuff.
1
garlicbreathinator
12/05/2020 8:43 am
Level 31 : Artisan Engineer
garlicbreathinator's Avatar
In 1.13, many commands were changed. /scoreboard teams is now /team, /scoreboard players tag is now /tag, /execute is completely revamped, /testfor, /testforblock, and /testforblocks are now all part of /execute if, and many selector arguments have been changed.



Since 1.13, the "r" selector argument has been replaced with distance: @a[​distance=<range>]. Ranges are a new type of value used in a couple different spots (also used in scoreboards and some other selector arguments) that works like this:

range value
meaning
4
exactly 4 (blocks away)
..4
4 or less (blocks away, equivalent to r=4)
4..
4 or more (blocks away)
4..8
4 to 8 (blocks away)



This is the first issue. Instead of @a[​r=1] you want @a[​distance=..1]. The second is that /tp now works just like /teleport: The relative coordinates are relative to the command's execution point, not the target's location. This means that "/tp @p ~ ~1 ~" in a command block teleports the player above the command block instead of above their current location. You instead want to use /execute with "as" and "at" arguments. This will use the new @s selector, which selects the entity running the command. The final command is:
/execute as @a[​distance=..1] at @s run tp @s ~5 ~ ~-5

I recommend you read up on the new command syntax, as a lot has changed and it allows you to do much more than the old stuff.
3
Tim355
12/05/2020 8:57 am
Level 1 : New System
Tim355's Avatar
Thank you for this long and detailed answers, I'll certainly read up on the new stuff

Marking solved
1
Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome