A vanilla-friendly, hardcore approach to player homes. Bind your teleportation point to a physical Lodestone and a specific Compass. If the block is destroyed, your home is lost forever.
- 🔗 Physical Binding: Teleportation requires a real Lodestone in the world.
- 🧭 Physical Keys: You cannot teleport without holding the specific Compass linked to that home.
- 🔒 Secure Data: Uses PersistentDataContainer (PDC) to store home data directly on the item. Renaming a random compass won't work.
- 💥 Risk & Reward: If the Lodestone is broken (by players, TNT, or Creepers), the home is deleted instantly and the compass becomes useless.
-
⚡ Optimized: Uses caching to handle block break events efficiently (
$O(1)$ complexity). - ⏳ Warmup System: Configurable warmup time with movement cancellation.
- Craft a Lodestone and place it down.
- Craft a Compass and right-click the Lodestone to bind it (vanilla mechanic).
Stand near the Lodestone (within 3 blocks by default) while holding the bound compass and run:
/sethome <name>The compass will be enchanted, renamed, and imprinted with the home data.
To return home, hold the specific compass and run:
/home <name>There is a warmup period. Moving during this time cancels the teleport.
Protect your Lodestone! The plugin listens for block breaks and explosions. If the Lodestone is destroyed:
- The home is deleted from the database immediately.
- The compass "key" stops working.
- The owner receives a notification (if online).
| Command | Description | Permission |
|---|---|---|
/sethome <name> |
Binds the held Compass to the nearby Lodestone. | magnethomes.use (default: true) |
/home <name> |
Teleports to the home (requires holding the key). | magnethomes.use (default: true) |
/magnetreload |
Reloads the configuration file. | magnethomes.admin |
The config.yml allows you to change settings and messages.
The database is stored in homes.yml.
settings:
warmup_seconds: 5 # Time to wait before teleporting
max_distance: 3 # Max distance from Lodestone allowed when using /sethomeDo not edit this manually unless you know what you are doing.
homes:
<PlayerUUID>:
home_name:
world: world
x: 100.5
y: 64.0
z: -200.5
yaw: 90.0
pitch: 0.0
# The physical location of the Lodestone block
lodestone_loc: "world;100;64;-200"- Ensure you are running Paper 1.20 or higher.
- Download the latest release
.jar. - Drop the file into your server's
/pluginsfolder. - Restart the server.