# 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