Skip

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.

Requirements

Contents

Items:

item loot table
wand Skip Home skip:skip_home
wand Skip Back skip:skip_back
wand Skip Here skip:skip_here
wand Skip To Me skip:skip_to_me
ticket Skip Away N/A
Map Hall Core skip:map_core

Advancements:

title description
ticket Yippee Skippy! skip through the world for the first time
ticket A Place To Call Home print a ticket to skip to a place
ticket Where The Heart Is print a ticket to skip to a player
ticket Citizen Of The World create a map hall

Usage

Skip Home

Teleports the player to their current respawn point.

Skip Back

Teleports the player to the last place they teleported from or the last place they died on, whichever was most recent.

Skip Here

Generates a ticket ticket that will teleport any player to the place where it was generated.

Skip to Me

Generates a ticket ticket that will teleport any player to the player who generated it. Skip will fail if the player is offline or hidden.

Skip Away

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}

Map Core

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.

Safe Skip Locations

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.

Overhead

Uses the hooks created by Magic and causes no further overhead.

Known Issues

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.