# Teleportation
Bookshelf provides a full teleportation system with configurable delays and cooldowns, a persistent warp system, cross-world teleportation, and offline player teleportation.
---
## Delays and Cooldowns
Teleport commands can have a **delay** (warmup before teleporting) and a **cooldown** (wait between uses). Both are configurable in `config.yml`.
```yaml
teleport_delay: 0 # Seconds before /spawn and /back teleport executes
teleport_cooldown: 0 # Seconds between teleport command uses
warp_delay: 0 # Seconds before /warp teleport executes
```
### How Delays Work
When a delay is set, the player must stand still for the full duration. If they move more than 0.2 blocks, the teleport is cancelled with a "Teleport cancelled! You moved!" message.
### Bypass Permission
Players with `lodestone.bookshelf.teleport.bypass` skip all teleport delays and cooldowns.
> [!tip]
> Set delays to `0` to disable them entirely. Staff members with the bypass permission always teleport instantly.
---
## Warps
Warps are saved locations that players can teleport to. Each warp is stored as an individual YAML file in the `managers/warps/` folder.
### Creating and Managing Warps
| Command | Permission | Description |
|---|---|---|
| `/warp create <name>` | `lodestone.bookshelf.commands.utility.warp.create` | Save current location as a warp |
| `/warp delete <name>` | `lodestone.bookshelf.commands.utility.warp.delete` | Delete a warp |
| `/warp relocate <name>` | `lodestone.bookshelf.commands.utility.warp.relocate` | Move a warp to your current location |
| `/warp rename <old> <new>` | `lodestone.bookshelf.commands.utility.warp.rename` | Rename a warp |
| `/warp list [page]` | `lodestone.bookshelf.commands.utility.warp.list` | List all warps (10 per page) |
### Using Warps
```
/warp <name>
```
Teleporting to a warp respects the `warp_delay` config setting.
### Warp Permissions
Each warp can have its own permission. Players need one of the following to use a specific warp:
| Permission | Grants Access To |
|---|---|
| `lodestone.bookshelf.commands.utility.warp` | Base warp command |
| `lodestone.bookshelf.commands.utility.warp.<name>` | A specific warp |
| `lodestone.bookshelf.commands.utility.warp.*` | All warps |
The warp list only shows warps the player has permission to use.
---
## Back
```
/back [targets]
```
Returns the player to their previous location. The "back location" is updated when the player:
- Joins the server
- Teleports via a command or plugin
- Dies (death location becomes the back location)
- Enters an end gateway
Respects the `teleport_delay` config setting when used on yourself.
---
## Spawn
```
/spawn [world]
```
Teleports the player to the world spawn point. Optionally specify a world name to teleport to that world's spawn instead.
Respects both `teleport_delay` and `teleport_cooldown` config settings.
---
## Top
```
/top [targets]
```
Teleports the player to the highest safe block above them. The destination must have:
- A solid block to stand on
- Two passable blocks above (not lava)
**Flags:**
- `-l` — Search from lowest to highest instead of highest to lowest
---
## World
```
/world <name>
/world create <name> [type]
/world delete <name>
```
### Teleporting Between Worlds
`/world <name>` teleports the player to the same X/Z coordinates in the target world, finding a safe Y position. In Creative or Spectator mode, if no safe location is found, the player is teleported to mid-height with flying enabled.
### Creating Worlds
`/world create <name> [type]` creates a new world. Available types:
| Type | Description |
|---|---|
| `normal` | Standard terrain with structures |
| `flat` | Superflat world |
| `void` | Empty void world |
### Deleting Worlds
`/world delete <name>` removes a world. All players in that world are teleported to the default world spawn first. The primary world cannot be deleted.
---
## Offline Teleportation
Bookshelf can teleport players who are currently offline.
### Teleport to an Offline Player
```
/tpoffline <player>
```
Teleports you to the offline player's last known location.
### Set an Offline Player's Location
```
/tpoffline <player> <x> <y> <z> [world]
/tpofflinehere <player>
```
Stores a pending teleport location for the player. When they next log in, they are automatically teleported to that location.
---
## Staff Teleport Commands
These commands have no delay and are intended for moderation use.
| Command | Aliases | Permission | Description |
|---|---|---|---|
| `/teleportto <player>` | `/tpto` | `lodestone.bookshelf.commands.moderation.teleportto` | Teleport to a player |
| `/teleporthere <targets>` | `/tphere` | `lodestone.bookshelf.commands.moderation.teleporthere` | Teleport targets to you |
| `/teleportall` | `/tpall` | `lodestone.bookshelf.commands.moderation.teleportall` | Teleport all players to you |
| `/tpoffline <player>` | | `lodestone.bookshelf.commands.moderation.teleportoffline` | Teleport to offline player's last location |
| `/tpofflinehere <player>` | | `lodestone.bookshelf.commands.moderation.teleportofflinehere` | Set offline player's pending location |
---
## All Permissions
| Permission | Description |
|---|---|
| `lodestone.bookshelf.teleport.bypass` | Skip all teleport delays and cooldowns |
| `lodestone.bookshelf.commands.utility.spawn` | Use `/spawn` |
| `lodestone.bookshelf.commands.utility.back` | Use `/back` |
| `lodestone.bookshelf.commands.utility.top` | Use `/top` |
| `lodestone.bookshelf.commands.utility.world` | Use `/world` |
| `lodestone.bookshelf.commands.utility.warp` | Use `/warp` (base) |
| `lodestone.bookshelf.commands.utility.warp.create` | Create warps |
| `lodestone.bookshelf.commands.utility.warp.delete` | Delete warps |
| `lodestone.bookshelf.commands.utility.warp.relocate` | Relocate warps |
| `lodestone.bookshelf.commands.utility.warp.rename` | Rename warps |
| `lodestone.bookshelf.commands.utility.warp.list` | List warps |
| `lodestone.bookshelf.commands.utility.warp.<name>` | Use a specific warp |
| `lodestone.bookshelf.commands.utility.warp.*` | Use all warps |
---
## Related Pages
- [[Bookshelf/Server Owners/Configuration]] - Teleport delay and cooldown config
- [[Bookshelf/Server Owners/Commands]] - Quick command reference
- [[Bookshelf/Server Owners/Features/Moderation]] - Staff teleport commands