# Waypoints
**Mark places in your world and find your way back. No mods, no client-side installs.**
Waypoints adds personal markers to your server. Save a point where you're standing and it floats on the horizon from then on, showing its name and the exact distance in metres. It runs on the vanilla client — your players don't need Xaero's, JourneyMap or any mod.
---
## What it looks like
Each waypoint is drawn as a floating sign: a coloured square with its initial inside, and below it the name and how far you still have to go. It renders through walls and keeps a constant size whether it's 20 or 2000 blocks away.
The trick is that the sign isn't drawn at the real coordinates — that would be outside render distance — but at a fixed distance in front of you, in the right direction. Same behaviour as a minimap mod, solved entirely server-side.
**Every player only sees their own waypoints.** Nobody else sees your signs unless you choose to share them.
---
## Commands
| Command | What it does |
|---|---|
| `/wp set <name> [color]` | Saves a waypoint where you're standing |
| `/wp del <name>` | Deletes it (`*` deletes all of them) |
| `/wp tp <name>` | Teleports you there |
| `/wp list` | Clickable list — one click and you travel |
| `/wp color <name> <color>` | Changes the sign's colour |
| `/wp share <name> <player>` | Shows it to someone else |
| `/wp hide` / `/wp show` | Turns a sign off or on without deleting it |
Aliases: `/waypoint`, `/waypoints`. Everything has TAB completion.
Shortcut: `/waypoint home` saves straight away, no need to type `set`.
---
## Teleport with warmup
Teleporting isn't instant — you have to stand still for a few seconds. Move and it cancels. A countdown in the action bar shows how long is left.
This keeps it from being used as a combat escape button, with no need for a combat-tag plugin. The duration is configurable, as is the cooldown between trips.
---
## Features
- Private waypoints, shareable per player
- Nine preset colours, or any hex code you want
- Configurable per-player limit, with a permission to bypass it
- Only the nearest ones are drawn, up to a configurable cap
- Signs hide themselves once you're right on top of them
- No dependencies — no Vault, no PlaceholderAPI, nothing
- Stored in YAML, readable and hand-editable
- Orphaned entities are cleaned up automatically on startup
## Permissions
| Permission | Default |
|---|---|
| `waypoints.use` | everyone |
| `waypoints.unlimited` | op |
| `waypoints.admin` | op |
## Requirements
Paper or Spigot 1.21+, Java 21.
It uses `text_display` entities, so players joining from Bedrock through Geyser most likely won't see the signs, though the commands work fine for them.
## Configuration
Everything is set in `config.yml`: render distance, sign size, how many show at once, warmup seconds, cooldown, colours and limits. `/wp reload` applies changes without a restart.

