Scoreboard Trigger Signs Only Teleporting in Certain Areas of Server

Solution 1:

The command blocks are being unloaded as no players are loading the chunks they are located in. The command blocks have to be loaded when the sign is clicked.

Either the command blocks need to be near the signs that run the commands or a better alternative would be to locate them in the spawn chunks.

In the spawn chunks, they will never be unloaded which allows the signs to be placed anywhere in the world and still function properly.


Another possible solution would be to use a function. This could be run using the gamerule gameLoopFunction and avoid command blocks all together. This involves creating a function file with all the desired commands and using the gamerule to cause this function to run every tick. This would also be a little easier to setup if you are setting up lots of different command sign trigger scores as you could copy and paste the commands and change the values.

An example function could be:

tp @a[score_cmdTrigger_min=1,score_cmdTrigger=1] <x1> <y1> <z1>
scoreboard players set @a[score_cmdTrigger_min=1,score_cmdTrigger=1] cmdTrigger 0

tp @a[score_cmdTrigger_min=2,score_cmdTrigger=2] <x2> <y2> <z2>
scoreboard players set @a[score_cmdTrigger_min=2,score_cmdTrigger=2] cmdTrigger 0

tp @a[score_cmdTrigger_min=3,score_cmdTrigger=3] <x3> <y3> <z3>
scoreboard players set @a[score_cmdTrigger_min=1,score_cmdTrigger=1] cmdTrigger 0

This could continue for as many as needed.

Solution 2:

The command blocks need to be in the spawn chunks so that they work at all times no matter where you go. To find you spawn chunks you can respawn using the command /kill Alternatively, if you can't find the world spawn you can change it using the command /setworldspawn ~ ~ ~.

Then you can place command blocks within a 30 block radius of the world spawn that you have just set.