Utilities to "skip" (teleport) across the world.
Unlike other datapacks and mods that achieve this through commands, Skip adds actual useable items to the game that do the teleporting in different ways.
Skipping players produce particles and sound just like enderfolk.
Items:
| item | loot table |
|---|---|
Skip Home |
skip:skip_home |
Skip Back |
skip:skip_back |
Skip Here |
skip:skip_here |
Skip To Me |
skip:skip_to_me |
Skip Away |
N/A |
| Map Hall Core | skip:map_core |
Advancements:
| title | description |
|---|---|
Yippee Skippy! |
skip through the world for the first time |
A Place To Call Home |
print a ticket to skip to a place |
Where The Heart Is |
print a ticket to skip to a player |
Citizen Of The World |
create a map hall |
Teleports the player to their current respawn point.
Teleports the player to the last place they teleported from or the last place they died on, whichever was most recent.
Generates a
ticket that will teleport any player to the
place where it was generated.
Generates a
ticket that will teleport any player to the
player who generated it. Skip will fail if the player is offline or
hidden.
A ticket that can be used to transfer to a different server. Requires setting
function-permission-level=3 at server.properties. Do so at your own risk.
To obtain one of these tickets you can run the following command:
skip:make_away {host:HOST,port:PORT}
The Map Core is a custom block; when placed, it turns the surrounding area into a Map Hell.
Using the custom block opens a dialog where you can choose a custom radius and zoom. Default radius of the map hall is 16 blocks from the core. Default zoom of the maps expected by the hall is level 2.
The map corresponding to the region where the core is should be in the same xz coordinates as the map core.
Crouching and jumping on the map (landing on it while crouching, actually) skips the player to the place on the world corresponding to the map location.
For Skip Home, Skip Back, Skip Here, and Skip to Me the system will first check if the target location is valid (i.e.: it has a solid block under it, and an empty block over it).
If not, the code will attempt to use the spreadplayers command to spawn
the player close to the desired position. Several consecutive attemps will be
made to spawn the player at a distance of 1, 2, 4, 8, 16, 32, and 64 blocks of
the desired place before giving up.
Uses the hooks created by Magic and causes no further overhead.
The worldborder check (preventing players from skipping beyond the worldborder and causing a number of nasty issues) assumes that the world border center is at position (0,0). This is not laziness; it's because there is no function allowing us to query what the worldborder center position is, even though there's a function to set it.