TeleHome

A lightweight Paper/Spigot plugin that lets players save and teleport to personal homes with /sethome and /home. Supports configurable teleport delay, move-cancel, and persistent storage across restarts.

4

TeleHome

TeleHome

A lightweight Paper/Spigot plugin for Minecraft that lets players save their favorite locations and teleport back to them instantly — or with a configurable countdown delay.

Built for Java 21 on Java 21.

---

✨ Features

- 🏠 Fully customizable messages — `/sethome castle`, `/sethome mine`, `/sethome farm`... - ⚡ Fully customizable messages — `/home castle` returns you with exact position, facing direction, and pitch. - 💾 Fully customizable messages — homes are saved per-player (by UUID) and survive restarts, name changes, and world reloads. - ⏱ Fully customizable messages — instant or countdown teleport (e.g. 3 seconds). - 🚶 Fully customizable messages — optionally cancel teleport if the player moves during the countdown. - 🌍 Fully customizable messages — homes remember which world they belong to. - 🎨 Fully customizable messages via `config.yml`.

---

📦 Installation

Drop it into your server's `plugins/` folder. Start (or restart) your server. Configuration is generated at `plugins/TeleHome/config.yml`.

---

🎮 Commands

/sethome <name> Set a home at your current location telehome.sethome

/home <name> Teleport to one of your homes telehome.home

Home name rules: letters, numbers, underscores, and dashes. Max 32 characters.

---

🔐 Permissions

Permission - Default Setting - Description

telehome.sethome - true - Allows players to set homes telehome.home - true - Allows players to teleport to homes

---

⚙️ Configuration

```Delay in seconds before the player is teleported after using /home. Set to 0 for instant teleport. teleport-delay-seconds: 3

If true, the teleport will be cancelled if the player moves during the delay. cancel-on-move: true

Messages (supports legacy & color codes) messages: home-set: "&aHome '&e%name%&a' has been set!" home-not-found: "&cNo home found with the name '&e%name%&c'." teleporting: "&aTeleporting to '&e%name%&a' in &e%seconds% &aseconds. Don't move!" teleported: "&aTeleported to '&e%name%&a'!" teleport-cancelled: "&cTeleport cancelled because you moved!" world-missing: "&cThe world for that home no longer exists." usage-sethome: "&cUsage: /sethome <name>" usage-home: "&cUsage: /home <name>" players-only: "&cOnly players can use this command."

/home teleporting: "&aTeleporting to '&e%name%&a' in &e%seconds% &aseconds. Don't move!" teleported: "&aTeleported to '&e%name%&a'!" teleport-cancelled: "&cTeleport cancelled because you moved!" usage-home: "&cUsage: /home <name>"

/delhome home-deleted: "&aHome '&e%name%&a' has been deleted." usage-delhome: "&cUsage: /delhome <name>"

/listhome no-homes: "&eYou have no homes set. Use &f/sethome <name>&e to set one." list-header: "&6--- Your Homes (&e%count%&6) ---" list-entry: "&7- &e%name% &7(&f%world%&7 @ &f%x%&7, &f%y%&7, &f%z%&7)" list-footer: "&7Use &f/home <name>&7 to teleport."

Shared home-not-found: "&cNo home found with the name '&e%name%&c'." world-missing: "&cThe world for that home no longer exists." players-only: "&cOnly players can use this command." ``` ---

💾 Data Storage

Homes are stored in plugins/TeleHome/homes.yml, keyed by player UUID:

e5f1d2a7-...-...: castle: world: world x: 123.5 y: 64.0 z: -452.3 yaw: 90.0 pitch: 0.0

Because UUIDs are used instead of usernames, homes persist through Mojang name changes.

---

🧪 Tested On

Paper 1.21+, 26.2.1 Java 21

---

🗺 Roadmap

Planned features for future releases:

[X] /delhome <name> — delete a home [X] /listhomes — list your homes [X] Tab completion for home names [ ] Per-rank home limits (permission-based) [ ] Teleport cooldowns [ ] Cross-world teleport toggle [ ] Optional cost system (economy integration) [ ] Bed/respawn-home integration

Got a suggestion? Open an issue!

---

🐛 Issues & Contributions

Bugs / feature requests: open an issue Pull requests: welcome! Please target the main branch and describe your changes clearly.

---

📄 License

This project is licensed under the MIT License — see the LICENSE file for details.

---

❤️ Credits

Built with Paper API.

ADS