Warp System
Craftify includes a teleport warp system driven by an in-game Warp Tools book. A warp is a pair of points: an entrance pad you walk into and a destination you're teleported to. You build and manage them entirely from clickable buttons in the book — no commands to memorise.
Getting the Warp Book
Give yourself the Warp Tools book with:
/function craftify:warp/book
This hands you a written book with clickable buttons for every warp action.
How Warps Work
Each warp uses two invisible marker entities (both tagged craftify) plus a light
block that acts as the trigger:
| Piece | Tag | Role |
|---|---|---|
| Start pad | warp_start | The entrance. Stand here (in a light block) to be teleported. |
| Destination | warp_point | Where you arrive. Its coordinates are saved and the chunk is force-loaded. |
| Light block | — | Placed on the start pad; stepping into it fires the teleport. |
Every warp is identified by a key — one of the 16 dye colours, or a named slot
(spawn, shop, community, random). The start pad and destination must share the
same key for the teleport to link up.
The teleport trigger: when a player steps into a light block, Craftify's
craftify:warp/light function runs. It checks whether a warp_start marker (of any key)
is within 2 blocks, and if so teleports the player to the matching warp_point of that
key. So a working entrance is always a start marker + a light block in the same spot.
:::note Persistence
Creating a destination saves its coordinates to world storage
(storage craftify:warp_registry <key>) and force-loads its chunk so the teleport
works even when nobody is nearby. On every world load, craftify:load re-applies the
force-load for all saved destinations, so warps survive restarts.
:::
Setting Up a Warp
Build the destination first, then the entrance pad.
1. Place the destination
Stand exactly where you want players to arrive and, in the book, click [T] (Target) for the colour/slot you want — for example White.
This registers the destination (warp_point), saves its coordinates, and force-loads the
chunk. If a destination for that key already exists, you'll be told
"That warp point already exists" — remove the old one first (see below).
2. Build the entrance pad
Go to where players will depart and:
- Click [S] (Start) for the same colour/slot. This drops the
warp_startmarker. - Click [LIGHT] to place a light block at your feet, on the start marker.
3. Use it
Any player who steps into the light block on the start pad is teleported to the matching destination. Decorate the pad however you like (a frame, pressure plate, signs) — only the light block and the start marker matter mechanically.
The underlying functions, if you'd rather script them:
/function craftify:warp/create_target_<key> # run at the destination
/function craftify:warp/create_start_<key> # run at the entrance
/function craftify:warp/place_light # place the trigger light block
Available keys: white, light_gray, gray, black, brown, red, orange,
yellow, lime, green, cyan, light_blue, blue, purple, magenta, pink, plus
the named slots spawn, shop, community, and random.
:::tip The random warp
A random start pad doesn't teleport to a fixed spot — it uses spreadplayers to drop you
near a random destination, giving you a "surprise me" warp.
:::
:::note Numbered warps
The teleport logic also supports numbered keys 1–12 for extra infrastructure warps.
These aren't buttons in the book, so set them up with the /function commands above using
the number as the key.
:::
Quick Navigation (no pad needed)
The book also has shortcuts that act on destinations directly, wherever you're standing:
| Book button | Function | What it does |
|---|---|---|
| Locate Warp Points | craftify:warp/locate | Highlights every destination within 64 blocks with shroomlight particles. Shows "There are no Warp Points close to you" if none are near. |
| Nearest | craftify:warp/locate_nearest | Teleports you straight to the nearest destination. |
| Random | craftify:warp/locate_random | Teleports you to a random destination. |
Removing a Warp
- Stand within 64 blocks of the warp marker you want gone.
- Click Remove Warp Point → you'll get a CONFIRM prompt.
- Click CONFIRM to run
craftify:warp/remove.
This marks the spot with a barrier particle, removes the force-load on that chunk, and
kills the nearest craftify marker. If nothing is within range you'll see "There are no
Warp Points close to you."
Remove acts on the nearest craftify marker — that could be a start pad or a
destination. Stand close to the specific marker you want removed. You'll usually want to
remove both halves (pad and destination) of a retired warp.
Light Blocks
The [LIGHT] button places a full-brightness light block at your feet:
/function craftify:warp/place_light
It's the trigger for start pads, but it's also handy on its own for lighting a build without visible torches.
Reference: Warp Functions
| Function | Purpose |
|---|---|
craftify:warp/book | Give the Warp Tools book. |
craftify:warp/create_start_<key> | Place a start-pad marker (the entrance). |
craftify:warp/create_target_<key> | Register the destination, save its coords, and force-load its chunk. |
craftify:warp/place_light | Place a light block (the teleport trigger) at your feet. |
craftify:warp/light | Internal: teleports a player who enters a light block to the matching destination. |
craftify:warp/locate | Highlight destinations within 64 blocks. |
craftify:warp/locate_nearest | Teleport to the nearest destination. |
craftify:warp/locate_random | Teleport to a random destination. |
craftify:warp/remove | Remove the nearest warp marker within 64 blocks. |
craftify:warp/remove_confirm | Show the removal confirmation prompt. |
craftify:warp/forceload | Internal: re-applies force-load from saved coordinates on world load. |