Nucleus is no longer updated and this site is frozen in time. Some links may be broken.
Welcome to the new docs site for Nucleus v2! Still on Nucleus v1? Visit the old site here.
« Return to Documentation Home Page // Random Teleport Module

Random Teleport Module

Introduction

The RTP module allows players to request to be teleported to another random place on your map.

Configuring RTP on a per-world basis

While the configuration file should be self explanatory (see the configuration tab above), note that you may configure worlds on a per-world basis. To do so, copy and paste the example block in world-overrides, renaming example to the name of the world you wish to provide an override for. So, for an override for DIM-1, you may have something like below:

world-overrides {
    DIM-1 {
        # The default RTP kernel to use with /rtp. The default options are:
        # 
        # * "nucleus:default": standard RTP, with the min/max radius centred around the spawn point
        # * "nucleus:surface_only": RTP which will attempt to only pick a surface (must see sky) location, with the min/max radius centred around the spawn point
        # * "nucleus:around_player": RTP which is like default, but the random position will depend on the player's current position, not the spawn point
        # * "nucleus:around_player_surface": RTP which is like surface only, but the random position will depend on the player's current position, not the spawn point
        # 
        # Other plugins might add their own kernels, in which case they will give you an ID to use here.
        default-method="nucleus:around_player"
        maximum-y=150
        min-radius=0
        minimum-y=50
        radius=500
    }
}

Selecting an RTP Kernel

The RTP system uses what is known as a kernel in order to decide whether a randomly selected location is safe. Nucleus comes with four kernels:

  • nucleus:default - tries to find any location that a player can be safely teleported to. The search for a space is centred on the world spawn and within the minimum and maximum radius specified in the configuration. The player may end up in a cave.
  • nucleus:surface_only - tries to find a location that is safe for a player and can see the sky directly above. The search for a space is centred on the world spawn and within the minimum and maximum radius specified in the configuration. The player will not end up in a cave.
  • nucleus:around_player - tries to find any location that a player can be safely teleported to. The search for a space is centred on the player’s current location and within the minimum and maximum radius specified in the configuration. The player may end up in a cave.
  • nucleus:around_player_surface - tries to find a location that is safe for a player and can see the sky directly above. The search for a space is centred on the player’s current location and within the minimum and maximum radius specified in the configuration. The player will not end up in a cave.

The server preferred kernel can be set in the configuration under the rtp.default-method config key.

Other plugins may supply RTP kernels which can find locations based on their own criteria. They must implement io.github.nucleuspowered.nucleus.api.rtp.RTPKernel, and register their kernels with the Sponge Registry if they wish to be usable as a configuration option.

The following are incompatibilities that may occur with this module, along with how to resolve the problem. For the full mod/plugin incompatibility list, see the compatibility page.

No plugin incompatibilities have been reported.

/rtp
Module: rtp
Allows the user to teleport to a random destination within the world border.

Aliases: /rtp, /randomteleport, /rteleport

Usage: /rtp [<player>] [<world>]

Default Role: ADMIN

Basic Command Permission: nucleus.rtp.base

Permissions

  • nucleus.rtp.exempt.warmup - Default Role: ADMIN
    Allows the user to bypass the warmup for /rtp
  • nucleus.rtp.exempt.cost - Default Role: ADMIN
    Allows the user to bypass the cost for /rtp
  • nucleus.rtp.exempt.cooldown - Default Role: ADMIN
    Allows the user to bypass the cooldown for /rtp
  • nucleus.rtp.others - Default Role: ADMIN
    Allows the user to target other players using the command "rtp".
  • nucleus.rtp.worlds - Default Role: ADMIN
    The base permission for per-world permission, if allowed in the config. This permission can be suffixed with ".worldname" (in lowercase) to allow for per-world rtp permissions.
  • nucleus.rtp.base - Default Role: ADMIN
    Allows the user to run the command /rtp
Permission Suggested Role Description
nucleus.rtp.base ADMIN Allows the user to run the command /rtp
nucleus.rtp.exempt.cooldown ADMIN Allows the user to bypass the cooldown for /rtp
nucleus.rtp.exempt.cost ADMIN Allows the user to bypass the cost for /rtp
nucleus.rtp.exempt.warmup ADMIN Allows the user to bypass the warmup for /rtp
nucleus.rtp.others ADMIN Allows the user to target other players using the command "rtp".
nucleus.rtp.worlds ADMIN The base permission for per-world permission, if allowed in the config. This permission can be suffixed with ".worldname" (in lowercase) to allow for per-world rtp permissions.
The following configuration is the default for this module:
                            # The number of times to try to find a safe teleport spot when using /rtp before failing. Setting this too low may cause a high rate of failures.
attempts=10
# The default RTP kernel to use with /rtp. The default options are:
# 
# * "nucleus:default": standard RTP, with the min/max radius centred around the spawn point
# * "nucleus:surface_only": RTP which will attempt to only pick a surface (must see sky) location, with the min/max radius centred around the spawn point
# * "nucleus:around_player": RTP which is like default, but the random position will depend on the player's current position, not the spawn point
# * "nucleus:around_player_surface": RTP which is like surface only, but the random position will depend on the player's current position, not the spawn point
# 
# Other plugins might add their own kernels, in which case they will give you an ID to use here.
default-method="nucleus:default"
# If this is set, and the world name here matches one of your worlds (case-sensitive!), then `/rtp` will default to use the world specified here. Otherwise, the player's current world will be used.
default-world=""
# The maximum Y value that can be teleported to.
maximum-y=255
# The minimum radius from the centre of the world/world border where /rtp will warp to.
min-radius=0
# The minimum Y value that can be teleported to.
minimum-y=0
# If true, Nucleus will check the permission "nucleus.rtp.worlds.<worldname>" (where worldname is in lower case) before allowing an RTP attempt to go through.
per-world-permissions=false
# A list of biomes that RTP should not attempt to teleport into.
prohibited-biomes=[
    "minecraft:ocean",
    "minecraft:deep_ocean",
    "minecraft:frozen_ocean"
]
# The maximum radius from the centre of the world/world border where /rtp can warp to. This will not override the world border radius.
radius=30000
# If a world is listed below with a valid config section, it will take precedence over the global section. World names should be lower case (so, standard nether should be "dim-1".
# 
# Copy the example block and paste it below, with the correct world name, to set the per-world options.
world-overrides {
    example {
        # The default RTP kernel to use with /rtp. The default options are:
        # 
        # * "nucleus:default": standard RTP, with the min/max radius centred around the spawn point
        # * "nucleus:surface_only": RTP which will attempt to only pick a surface (must see sky) location, with the min/max radius centred around the spawn point
        # * "nucleus:around_player": RTP which is like default, but the random position will depend on the player's current position, not the spawn point
        # * "nucleus:around_player_surface": RTP which is like surface only, but the random position will depend on the player's current position, not the spawn point
        # 
        # Other plugins might add their own kernels, in which case they will give you an ID to use here.
        default-method="nucleus:default"
        maximum-y=255
        min-radius=0
        minimum-y=0
        radius=30000
    }
}

                        
Search

Downloading search database, this won't take long...