Set facing direction using commands?
Is there a way to set the direction you face when you set a new spawn or teleport to a new location?
For example, if I create a notice board in the spawn location facing north, and every one keeps spawning facing east, there's a possibility they may not see the board.
Or if I teleport to a new location, I might always end up facing a wall(east), when I want to spawn in the new location facing down a corridor(north).
So can I set the direction a player faces when they spawn or teleport?
Solution 1:
Based off of QbsidianH20's comment, to do it with commands only, follow the below guide which extra information can be found here.
To start off, the command you are looking for is shown below:
/tp [target player] <x> <y> <z> [<y-rot> <x-rot>]
Syntax for the above command:
-
[target player]
is the player that will be teleported. -
<x>
is the X coordinate the targeted player will be teleported to. -
<y>
is the Y coordinate the targeted player will be teleported to. -
<z>
is the Z coordinate the targeted player will be teleported to. -
[<y-rot> <x-rot>]
is the rotation on the Y and X axis that the player will be rotated accordingly on.
Guide for usage:
- Firstly, find your position on the map. Press F3 and jot down your X, Y & Z coordinates located on the left.
- Then type into the chat bar
/tp [target player] <x> <y> <z> [<y-rot> <x-rot>]
replacing<x>
,<y>
and<z>
with your coordinates you wrote down. - Then, change
<y-rot>
and<x-rot>
with the angles you want.
Angles/Rotation Description from Commands page
y-rot (optional)
Specifies the horizontal rotation (-180.0 for due north, -90.0 for due east, 0.0 for due south, 90.0 for due west, to 179.9 for just west of north, before wrapping back around to -180.0). Tilde notation can be used to specify a rotation relative to the target's previous rotation.
x-rot (optional)
Specifies the vertical rotation (-90.0 for straight up to 90.0 for straight down). Tilde notation can be used to specify a rotation relative to the target's previous rotation.
As for when the player spawns, if you are using Bukkit for the setspawn command, using plugins like this automatically make the facing direction wherever you were looking when you executed the setspawn command.
If not, put a pressure plate down on the spawn block, a command block under that and teleport the nearest player wherever you want (a good suggestion again from QbsidianH20 would be a fake spawn), by inputting the below command into the command block:
/tp @p [x=0,y=0,z=0,r=0] tp coordinates
Where the values x, y, z define the center of the search (the player nearest to these coordinates would get teleported) and r defines the radius of the search. If you don't want to limit the radius omit r.
Do not use decimal values for the search center, this will not work.
- Excerpt from this Arqade question.
Good luck!
Solution 2:
Use /execute in <dimension> run tp <selector> <x> <y> <z> <rx> <ry>
. PS: <rx> is your vertical rotation, <ry> is your horizontal rotation. Also, if you want to do this faster, doing F3+C will copy your exact location into a command that will teleport to where you did F3+C.