To make a compass track a player in Minecraft, put a repeating command block set to Always Active and give it execute at @a[tag=runner] run setworldspawn ~ ~ ~. Every compass in the world now points at whoever carries the runner tag, because a compass points at world spawn and you are moving world spawn onto them, several times a second.

That’s the whole trick behind Dream’s Manhunt compass, and it takes about a minute to set up. It also has four real problems that nobody mentions in the tutorial videos, which is most of what this guide is about.

The One-Command-Block Method, Step by Step

  1. Give yourself a command block: /give @s command_block
  2. Place it, right-click it, set it to Repeat, Unconditional, and Always Active.
  3. Paste in:
    execute at @a[tag=runner] run setworldspawn ~ ~ ~
  4. Tag your runner: /tag <username> add runner
  5. Give the hunters compasses: /give @a[tag=hunter] compass

That’s it. Hunters’ compasses now swing toward the runner and update continuously as they move.

If you’d rather not use tags, you can point it at a specific player instead — execute at PlayerName run setworldspawn ~ ~ ~ — but tags are worth the extra step because you can reassign roles mid-session without editing the command block.

The Four Problems

This is where the tutorials stop and your session starts going wrong.

1. It breaks everyone’s respawn point. setworldspawn is not a compass feature; it’s the actual world spawn. Anyone who dies without a bed or respawn anchor now respawns wherever the runner happened to be standing — quite possibly next to the runner, in the middle of a chase. Every player needs a bed set before you start, and someone always forgets.

2. It does nothing in the Nether or the End. Compasses only work in the Overworld. The moment your runner steps through a portal, every hunter’s compass starts spinning uselessly — and the Nether is exactly where a competent runner spends the middle of the game. This is the single biggest reason home-made Manhunt falls apart: the tracking stops working right when the chase gets interesting.

3. It tracks exactly one player. There is one world spawn, so there is one target. Team Manhunt, multiple runners, or hunters who need to track different people are all out of reach without a much more involved setup.

4. It churns the spawn chunks. Minecraft keeps the chunks around world spawn permanently loaded. Dragging spawn across the map at speed means the server is constantly loading and unloading chunk sets, which on a small host shows up as lag for everyone.

The Modern Alternative, and Why It’s Harder Than It Looks

Since 1.16, compasses can point at a lodestone instead of world spawn, and since 1.20.5 that binding lives in the item’s lodestone_tracker component. In principle you can rewrite that component every tick to aim a compass anywhere you want, per player, without touching world spawn — which solves problems 1 and 3 above.

In practice this means editing item data in a player’s inventory slot on a repeating basis, and the exact syntax has changed more than once across recent versions (the flattening of item NBT into components in 1.20.5 rewrote all of it). If you go this route, check the current syntax against the Minecraft Wiki for your exact version rather than copying a command from a video — a 1.19 command will fail silently on 1.21 in ways that look like the compass is simply broken.

It still doesn’t solve problem 2. Cross-dimension tracking needs you to detect which dimension the target is in and point the compass at the relevant portal instead, which is genuinely custom logic, not a command block.

Or Skip All of It

If what you actually want is to play Manhunt rather than build the plumbing for it, MCManhunt does all of the above server-side. Add mcmanhunt.com on Minecraft Java Edition 1.21+ and queue — no command blocks, no datapacks, no mods, no world setup.

The tracking specifically handles the parts the command-block version can’t:

  • Per-hunter compasses, so multiple runners and team formats work.
  • Cross-dimension tracking — when the runner is in another dimension, the compass points to the nearest portal leading toward them, instead of spinning.
  • Respawn points are left alone, because nothing is dragging world spawn around.
  • Hunters are frozen for the first 10 seconds, so the runner gets a real head start.

It’s free, no whitelist and no application, and the server matchmakes hunters and runners automatically, so you don’t need three friends free at the same time. There’s a full breakdown of the format in Minecraft Manhunt rules explained, and if you’re bringing your own group, how to play Manhunt with friends covers parties and match settings.

Which Should You Pick?

You want Use
To learn how command blocks work The setworldspawn method above
One quick round in your own world, Overworld only The setworldspawn method above
Nether and End tracking that actually works A server that implements it, or write custom logic
Team Manhunt, multiple runners A server that implements it
To play tonight without building anything mcmanhunt.com

There’s no shame in the command block — it’s a genuinely clever hack and it’s how the format got popular. Just know what you’re signing up for before you promise your friends a Manhunt evening.