
Core Mechanic
A home-portal system inspired by Path of Exile / Diablo. Each player maintains up to two rifts simultaneously: a Home Rift anchored at a chosen location, and an Adventure Rift left behind when they return home. Rifts persist across logouts and server restarts, and survive death.
Commands & Keybind
/rift — Context-sensitive portal action
Behaves identically to the keybind. Determines what to do based on your current situation (see Context Actions below).
Keybind — key.categories.rifts → key.rifts.rift (unbound by default)
Same behavior as /rift. Sends the rift action to the server on press.
Context Actions
Both the command and keybind evaluate conditions in priority order:
| Condition | Action | Message shown |
|---|---|---|
| Within 6 blocks of own Home Rift + Adventure Rift exists | Channel 4s → teleport to Adventure Rift (destroys it) | "Proceeding through your Rift..." |
| Within 6 blocks of another online player's Home Rift + they have an Adventure Rift | Channel 4s → teleport to that player's Adventure Rift (without destroying it) | "Proceeding through [Name]'s Rift..." |
| Have a Home Rift, not within 6 blocks of it | Channel 4s → teleport to Home Rift (leaves Adventure Rift at current position) | "Returning to your Home Rift..." |
| No Home Rift | Channel 4s → creates Home Rift at current position and facing | "Creating Home Rift..." |
Channeling rules:
- Moving more than ~0.1 blocks during the 4-second channel cancels it ("Rift channeling interrupted.")
- Already channeling blocks a new action from starting
- The message is refreshed every tick, keeping it visible on the action bar throughout
Erase by Crouching
Crouching within 4 blocks of one of your own rifts (same dimension) for 4 seconds without moving erases it.
| Rift | Message during channel | Message on completion |
|---|---|---|
| Home Rift | "Erasing Home Rift..." | "Home Rift erased." |
| Adventure Rift | "Erasing Adventure Rift..." | "Adventure Rift erased." |
- If both rifts are within 4 blocks, the closer one is erased
- Moving or standing back up cancels it ("Rift channeling interrupted.")
- Cannot start erase channeling while already channeling a portal action
Restrictions
- Nearby rift use — to proceed through another player's rift, you must be within 6 blocks of their Home Rift, they must be online, and they must have an active Adventure Rift
- Teleport fallback — if you use the return-home action with no Home Rift set, it falls back to your bed spawn point, or the world spawn if none exists
Companion Teleportation
When any rift teleportation occurs (all three variants):
- Your mount (if riding one) teleports with you and you are automatically re-mounted at the destination
- Tamed animals you own (anything implementing
Tameable) within 12 blocks of your current position teleport to the destination as well - Pets already counted as the mount are not teleported twice
Multiplayer Sync
- Rift creation and removal broadcast a packet to all connected players in real time
- On join: the connecting player receives a single bulk packet with all current rifts; their own rifts are simultaneously announced to everyone else
- Client only renders rifts in the current dimension — rifts in other dimensions are hidden
- Client rift state is cleared on disconnect to prevent stale data when joining a different server
Visuals
- Rifts render as animated billboards (always face the camera), centered 1.5 blocks above the rift's block position
- 4-frame sprite animation cycling every 4 ticks
- Fully bright — unaffected by world lighting
- Only rendered in the correct dimension

