promotional bannermobile promotional banner
premium banner
Teleport players even when they're offline.

Description

# Fervente's Offline Teleport

**Teleport players even when they're offline. Schedule their next-login position or move online players instantly — with cross-dimension support, bulk actions, and an exemption whitelist.**

- View Modrinth Page -

## Highlights

- Offline teleports: set where a player will appear next time they join
- Online teleports: move players instantly, including across dimensions
- Bulk `@a`: teleport all non-admins online now and auto-schedule all offline non-admins
- Exemption whitelist: skip specific UUIDs from bulk teleports
- Pending management: list and cancel pending teleports
- Uses simple JSON storage; survives restarts

Requires: Forge 47.x for Minecraft 1.20.1, Java 17
License: MIT

---

## Commands

- Teleport to coordinates
  - `/offteleport `
  - `/offtp `

- Teleport to coordinates in a specific dimension
  - `/offteleport `
  - `/offtp `
  - Examples: `minecraft:overworld`, `minecraft:the_nether`, `minecraft:the_end`

- Teleport a player to another player
  - `/offteleport `
  - `/offtp `

- List pending teleports
  - `/offteleport list`
  - `/offtp list`

- Cancel a pending teleport
  - `/offteleport cancel `
  - `/offtp cancel `

- Manage exemption whitelist
  - `/offteleport whitelist list`
  - `/offteleport whitelist add `
  - `/offteleport whitelist remove `
  - (Aliases with `/offtp` work the same)

### Bulk `@a` behavior
When you run `/offtp @a `:
- Online non-admins are teleported immediately
- Offline non-admins are automatically scheduled for next login
- Admins (permission level >= 2) are skipped
- Players on the exemption whitelist are always skipped
- You get a summary of applied/scheduled/skipped

---

## How it works
- Online: If a target is connected, they are teleported instantly (and cross-dimension if specified)
- Offline: If a target is offline, their next-login position and dimension are saved to `config/ferventes_offline_teleports.json`
- On join: Offline teleports are applied the moment the player joins
- Bulk @a: The mod scans playerdata to include known offline players in scheduling

Storage: JSON under `config/`
- `ferventes_offline_teleports.json`: pending teleports
- `ferventes_offline_teleport_exempt.json`: whitelist (array of UUID strings)

---

## Permissions
- Command usage requires operator level 3 by default (same as vanilla `/tp`)
- Bulk skipping logic treats admins as permission level >= 2 for safety

---

## Q&A
**Q: Is this server-side only?**
- A: Yes. Install on the server. Clients don't need it to connect.

**Q: Can I use this with other teleport mods?**
- A: Yes. This mod only schedules/sets player positions; it doesn't change world gen or entities.

**Q: Will it work with Fabric via Connector?**
- A: Only Forge is supported. It may work via connectors, but issues should be reproduced on pure Forge before reporting.

**Q: Does it support modded dimensions?**
- A: Yes. Use the full dimension ID like `modid:dimension_name`.

**Q: What happens if I schedule a teleport and the dimension is missing later?**
- A: The teleport will be skipped for that player; nothing else is affected.

---

## Installation
1) Place the JAR in your server `mods/` folder
2) Run the server on Java 17 and Forge 47.x (MC 1.20.1)
3) Use `/op ` to grant yourself permission if needed

Optional: Pre-populate `config/ferventes_offline_teleport_exempt.json` with UUIDs to skip in bulk actions.

---

## License & Distribution
- License: MIT — free to use, include in modpacks, and redistribute with attribution
- You may include this mod in modpacks and servers without asking; a link back to the project page is appreciated