> For the complete documentation index, see [llms.txt](https://lethium.gitbook.io/lethium-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lethium.gitbook.io/lethium-docs/gameplay/navigation.md).

# Navigation and teleports

Spawn points, the zone teleport menu, and the fixed /afk /crates /market /hubzones destinations.

Files: `plugins/ClickEmCore/modules/navigation.yml` and `plugins/ClickEmCore/modules/teleportation.yml`. Module ids: `navigation` and `teleportation`.

### Spawn

`/spawn` goes to the global spawn. Players are also sent there on **first join** and **death**.

```yaml
spawn:
  delay-ticks: 20
  teleport-on-first-join: true
  teleport-on-death: true
  world: "World1"
  x: 613.5
  y: 130.0
  z: 552.5
```

| Key                                           | Meaning                                                                                         |
| --------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `delay-ticks`                                 | Wait before forcing the teleport on join or respawn, so other plugins and the world can settle. |
| `teleport-on-first-join`, `teleport-on-death` | Turn either off.                                                                                |
| `world`                                       | Blank it (`""`) to make `/spawn` say spawn is not set.                                          |

**Set the spawn by standing where you want it and running `/setspawn`** (staff). It also rewrites every `world-spawns` entry to those coordinates.

`world-spawns` gives each world its own spawn, used by the Spawn button in that world's zone grid, `/spawn2` to `/spawn5` and the `%clickem_navigation_to_next_spawn%` placeholder. A world with no entry falls back to the global spawn. `/spawn2` to `/spawn5` only work if the player has unlocked that world.

### The zone teleport menu

`/navigation` (`/nav`, `/warp`, `/warps`) opens a world picker, then a zone grid for that world. A zone appears only once the player has **unlocked** it. A zone's teleport point is where its **landmark hologram** sits in `zones.yml`; no coordinates are stored here.

| Command                         | Use                                            |
| ------------------------------- | ---------------------------------------------- |
| `/navigation`                   | World picker.                                  |
| `/navigation worlds`            | The same.                                      |
| `/navigation tp <world> <zone>` | Jump straight to a zone.                       |
| `/bestzone`, `/bz`              | The furthest zone the player has unlocked.     |
| `/navigation set <destination>` | (Staff) move a destination to where you stand. |

The `gui:` section controls the menus: `rows`, `content-slots`, the Spawn button, the **Best Zone** button (`best-zone-button.enabled`, `material`, `custom-model-data`), and per-world icons (`worlds.per-world`).

`worlds.world-slots` pins a world's button to specific slots (a world can take several slots, all opening the same world). `worlds.world-pages` moves a world to another page. The shipped layout puts World 5 on page 2.

World names are coloured with a gradient per world (World 1 blue, World 2 violet, World 3 teal, World 4 orange, World 5 purple) in the menu.

### Fixed destinations (`teleportation.yml`)

Commands that send the player to the **same coordinates in whichever world they are in**: `/afk`, `/crates`, `/hubzones` (`/hub`) and `/market`.

```yaml
destinations:
  afk:
    x: 624.0
    y: 126.0
    z: 588.0
    yaw: 0.0
    pitch: 0.0
```

* Every world uses the same arena layout, so one set of coordinates serves all five worlds.
* Change one with `/navigation set <name>` while standing at the spot (**coordinates only, applied to every world**), or edit the file.
* To add a new destination, add an entry here and add a matching command block in `plugin.yml`. Because `plugin.yml` is inside the jar, this needs a plugin change. Most owners simply reuse the four that exist.

### Zone borders and teleports

Teleports into a zone the player has not unlocked are denied. Staff with `clickem.zones.bypass` ignore the border. See [Zones](/lethium-docs/gameplay/zones.md).

### Placeholders

`%clickem_navigation_to_next_spawn%` (Yes or No: whether the next world's first zone is unlocked, so `/spawnN` would work). See [Zone placeholders](/lethium-docs/placeholders/zones.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://lethium.gitbook.io/lethium-docs/gameplay/navigation.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
