What does it do? • Teleports a player to a random location by when they type /rtp or /wild, or when they join the server for the first time • Allows a lot of configuration on how the random location is selected • Read "A brief list of what you can configure" and look at some sample distributions down below
Speed Test:
This was a little test to show how fast this plugin can work. If you don't feel like watching the video, just know that an rtp from this plugin takes the same time to complete as any other teleport in the game as all the heavy lifting is done ahead of time* and async*.
* Done when it can be, though when it doubt, the fastest way is used.
A brief list of what you can configure.
All of this is per individual config. Multiple configs can exist at the same time
Oh, and if you want more than one config, you just copy and paste the file, change the name, and suddenly you have 2!
Now with (some) built in support for claim plugins!
This has actually existed for multiple weeks by this point, but I never wrote about it here. Supported out-of-the-box, this plugin will not teleport you into claimed land from:
Also, all messages sent to players can be configured manually in the language-settings.yaml file.
Currently, 97% of people using this plugin have not modified the messages that get sent to players. The messages this plugin sends are bland to try and convince people to make them colorful or look nicer themselves, but no one does! Maybe I'll make the default messages have color...
A video explanation on how to configure this plugin
Random point examples:
The random cord generator that I made for this plugin does a real good job at evenly distributing the points over an area, here are some examples! (20,000 samples each)
All images are made with points generated by the plugin, but plotted with gnuPlot.
Commands:
/rtp and /wild both make the user randomly teleport
/forcertp [playerName] will randomly teleport the given player (assuming you have permission)
/rtp-admin reload will reload the config from the file(assuming you have permission)
Permissions:
Commands & Permissions footnote:
While I update this spigot page relatively often, this project's GitHub page will always contain the most up-to-date information (though sometimes the information is relevant to development builds). For the best, most up-to-date list of commands and permissions, check out the direct link to the plugin.yml file.
Help / Bugs / Discussion & More
Having any issues? First, ask for help in #rtp-support,
or if you are sure you have found a bug, you can directly post it in #rtp-bugs.
If you have any recommendations, or just feedback in general you can always join the discord.
>> The Discord Link <<
Enjoy!
‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒
Jake's Random Teleporter [J-RTP]
‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒
Jake's Random Teleporter [J-RTP]
‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒
Spoiler: Previous Versions / Compatibility
MC Version ~ J-RTP version
Note: If you are still running Java 8, the most recent version of the plugin you can run is v0.13.12.
- 1.18 → any / newest
- 1.17 → any / newest
- 1.16 → v0.8.0_C to v0.13.12
- 1.15 → v0.8.0_C to v0.13.12
- 1.14 → v0.8.0_C to v0.13.12
- 1.13 → v0.8.0_C to v0.13.12
- 1.12 → v0.8.0_C to v0.13.12
Note: If you are still running Java 8, the most recent version of the plugin you can run is v0.13.12.
Speed Test:
This was a little test to show how fast this plugin can work. If you don't feel like watching the video, just know that an rtp from this plugin takes the same time to complete as any other teleport in the game as all the heavy lifting is done ahead of time* and async*.
* Done when it can be, though when it doubt, the fastest way is used.
A brief list of what you can configure.
All of this is per individual config. Multiple configs can exist at the same time
- The world you get teleported to (don't forget, multiple configs for multiple worlds)
- Can players use /rtp with these settings, or it can only be used by the server or admins
- The priority of the settings relative to other settings
- What shape that the points will appear in...
- Square
- Circle
- Rectangle
- A gap in the shape where people will not be teleported (done as radius min for circle and square)
- Where the random teleport is centered...
- At the world's spawn
- At the players current location
- At a specific x and z
- Will the locations be chosen such that they are evenly distributed or with a Gaussian distribution...
- If Gaussian distribution is enabled, these settings can be used:
- Shrink - Inversely related to the standard deviation of the distribution (larger values make it denser)
- Center - A number from 0 to 1 where 0 centers the points at the min distance, 0.5 is between min and max, and 1 is at max
- A list of commands that get executed after the player is teleported
- The number of seconds a player must wait between calling the /rtp command and getting teleported
- The number of seconds a player must wait before using the /rtp command again
- Do new players get teleported randomly when they join for the first time? *
- Do new players get teleported randomly when they die? *
- The cost of the teleport (if economy is enabled)
- The highest and lowest y-value that a player can get teleported to
- Some stuff about how many spots to check for safety, though these shouldn't need to be modified for a normal world.
Oh, and if you want more than one config, you just copy and paste the file, change the name, and suddenly you have 2!
Now with (some) built in support for claim plugins!
This has actually existed for multiple weeks by this point, but I never wrote about it here. Supported out-of-the-box, this plugin will not teleport you into claimed land from:
- World Guard (Must set world guard flag to prevent teleporting)
- Grief Prevention
- Husk Towns
- Lands
Also, all messages sent to players can be configured manually in the language-settings.yaml file.
Currently, 97% of people using this plugin have not modified the messages that get sent to players. The messages this plugin sends are bland to try and convince people to make them colorful or look nicer themselves, but no one does! Maybe I'll make the default messages have color...
A video explanation on how to configure this plugin
Spoiler: A brief peek at the default settings. (v1.13).
This is an old version of the config. The new config is split between multiple files, but does contain all of these settings.
random-teleport-settings default : # The name of this config section is 'default', each section must have a unique name
# Should we load this config? If false, this config will not be usable anywhere.
# For finer control, enable or disable command-enabled and require-explicit-permission.
enabled : true
# Can a player use this config with `/rtp`?
# Set to false if you plan on having this config exclusively for rtp-on-first-join or rtp-on-death.
command-enabled : true
# The player will only be able to use this config if they have the permission:
# 'jakesrtp.use.[name]' where the default config would be 'jakesrtp.use.default'.
# This setting is most useful when there are overlapping configurations.
# Note: If used along side `rtp-on-death.require-permission` then the player will need both permissions.
require-explicit-permission : false
# The priority of the config. Higher priority are preferred over lower ones.
# Only useful if there are overlapping configurations (multiple configs that include the same worlds).
priority : 1
# Which worlds will this configuration apply to?
# The nether is not currently supported. The end works, but is inefficient and requires a higher max-attempt value.
enabled-worlds :
- world
- yer # You can remove this one, it's here as an example
force-destination-world : # Forces the world that the RTP will land you in. If this is true, then 'enabled worlds' no
enabled : false # longer represents worlds that you can RTP IN, but worlds you can RTP FROM, always
destination : world # landing you in the world specified by 'destination'.
shape:
allowed-values:
a : "Square (radius & center)"
b : "Circle (radius & center)"
value : a
defining-points:
radius-center:
radius:
max : 2000
min : 1000
center:
allowed-values:
a : "World spawn"
b : "Player's current location"
c : "The x and z as set in config"
value : a
x : 0
z : 0
gaussian-distribution : # Enabling this will make the points no longer evenly distributed, but instead follow a
enabled : false # gaussian centered between the min and max radius (represented by setting center to
shrink : 4 # 0 for min, 1 for max, or anything in between). Shrink makes the distribution denser,
center : 0.25 # my preference is to keep it near 3 for a center of 0 or 1, and 6 for a center of 0.5
location-checking-profile : # Which method should we use to find a safe location? Since this plugin is meant to work
allowed-values : # 'out-of-the-box' without need of configuring, the 'auto' option has been included.
a : "Auto" # Auto chooses middle-out for the nether and top-down for everything else.
b : "Top down" # Starts the search at the high bound and moves down until it finds the ground.
c : "Middle out" # Starts the search between high and low and moves up and down to find land.
value : a # Top-down will never spawn you in a cave. Middle-out is intended for underground teleports.
cooldown : # Cooldown between uses. Can be bypassed with permission node jakesrtp.nocooldown
seconds : 30 # Default: 30
then-execute : [ ] # Executes commands as console after a player is rtp'd. Note: remove the `[]` before adding commands.
# - 'tellraw %PLAYER% {"text":"You have been teleported to %LOCATION% in %WORLD%!"}'
# - 'tellraw %PLAYER% {"text":"All placeholders are listed at the bottom of this file."}'
############## # Everything past this point in the config probably does not need to get changed
bounds : # The lowest and highest points a player can be RTP'd to.
low : 32 # Default: 32
high : 255 # Default: 255 | SET THIS TO 127 FOR NETHER WORLDS IF location-checking-profile IS NOT ON AUTO
check-radius : # How many blocks away from the initial spot to check.
x-z : 2 # Default: 2 | Max spots to check per attempt is equal to:
vert : 2 # Default: 2 | (2*vert+1)*(2*(x-z)+1)^2
max-attempts : # If the random location, and all (by default 125) close spots are found to be unsafe,
value : 10 # how many attempts can we make? Minimum: 1; Default: 10
preparations : # Preparing spots to teleport to. Note: These will be ignored if the center is players location.
cache-locations : 10 # The number of safe rtp spots to hold on to. For best performance, keep this larger than 2.
Note: Sometimes I forget to update small portions of the spigot page, and in case the config version you have is higher than the one listed here, you can always go to this project's
GitHub page, or click the
direct link to the config. Please note that this direct link does go to the most up-to-date config,
regardless of weather or not it is from a development build.
Code (YAML):
random-teleport-settings default : # The name of this config section is 'default', each section must have a unique name
# Should we load this config? If false, this config will not be usable anywhere.
# For finer control, enable or disable command-enabled and require-explicit-permission.
enabled : true
# Can a player use this config with `/rtp`?
# Set to false if you plan on having this config exclusively for rtp-on-first-join or rtp-on-death.
command-enabled : true
# The player will only be able to use this config if they have the permission:
# 'jakesrtp.use.[name]' where the default config would be 'jakesrtp.use.default'.
# This setting is most useful when there are overlapping configurations.
# Note: If used along side `rtp-on-death.require-permission` then the player will need both permissions.
require-explicit-permission : false
# The priority of the config. Higher priority are preferred over lower ones.
# Only useful if there are overlapping configurations (multiple configs that include the same worlds).
priority : 1
# Which worlds will this configuration apply to?
# The nether is not currently supported. The end works, but is inefficient and requires a higher max-attempt value.
enabled-worlds :
- world
- yer # You can remove this one, it's here as an example
force-destination-world : # Forces the world that the RTP will land you in. If this is true, then 'enabled worlds' no
enabled : false # longer represents worlds that you can RTP IN, but worlds you can RTP FROM, always
destination : world # landing you in the world specified by 'destination'.
shape:
allowed-values:
a : "Square (radius & center)"
b : "Circle (radius & center)"
value : a
defining-points:
radius-center:
radius:
max : 2000
min : 1000
center:
allowed-values:
a : "World spawn"
b : "Player's current location"
c : "The x and z as set in config"
value : a
x : 0
z : 0
gaussian-distribution : # Enabling this will make the points no longer evenly distributed, but instead follow a
enabled : false # gaussian centered between the min and max radius (represented by setting center to
shrink : 4 # 0 for min, 1 for max, or anything in between). Shrink makes the distribution denser,
center : 0.25 # my preference is to keep it near 3 for a center of 0 or 1, and 6 for a center of 0.5
location-checking-profile : # Which method should we use to find a safe location? Since this plugin is meant to work
allowed-values : # 'out-of-the-box' without need of configuring, the 'auto' option has been included.
a : "Auto" # Auto chooses middle-out for the nether and top-down for everything else.
b : "Top down" # Starts the search at the high bound and moves down until it finds the ground.
c : "Middle out" # Starts the search between high and low and moves up and down to find land.
value : a # Top-down will never spawn you in a cave. Middle-out is intended for underground teleports.
cooldown : # Cooldown between uses. Can be bypassed with permission node jakesrtp.nocooldown
seconds : 30 # Default: 30
then-execute : [ ] # Executes commands as console after a player is rtp'd. Note: remove the `[]` before adding commands.
# - 'tellraw %PLAYER% {"text":"You have been teleported to %LOCATION% in %WORLD%!"}'
# - 'tellraw %PLAYER% {"text":"All placeholders are listed at the bottom of this file."}'
############## # Everything past this point in the config probably does not need to get changed
bounds : # The lowest and highest points a player can be RTP'd to.
low : 32 # Default: 32
high : 255 # Default: 255 | SET THIS TO 127 FOR NETHER WORLDS IF location-checking-profile IS NOT ON AUTO
check-radius : # How many blocks away from the initial spot to check.
x-z : 2 # Default: 2 | Max spots to check per attempt is equal to:
vert : 2 # Default: 2 | (2*vert+1)*(2*(x-z)+1)^2
max-attempts : # If the random location, and all (by default 125) close spots are found to be unsafe,
value : 10 # how many attempts can we make? Minimum: 1; Default: 10
preparations : # Preparing spots to teleport to. Note: These will be ignored if the center is players location.
cache-locations : 10 # The number of safe rtp spots to hold on to. For best performance, keep this larger than 2.
Random point examples:
The random cord generator that I made for this plugin does a real good job at evenly distributing the points over an area, here are some examples! (20,000 samples each)
Spoiler
As of version 0.4, there is now a Gaussian distribution settings (with two sub settings) that can allow the random points to look like these:
(Even is evenly distributed, normal is Gaussian)
Spoiler: And here are two settings I like.
All images are made with points generated by the plugin, but plotted with gnuPlot.
Commands:
/rtp and /wild both make the user randomly teleport
/forcertp [playerName] will randomly teleport the given player (assuming you have permission)
/rtp-admin reload will reload the config from the file(assuming you have permission)
Permissions:
- jakesrtp.use:
- description: 'Allows the use of the base "/rtp" command'
- default: true
- jakesrtp.usebyname:
- description: 'Allows players to give a rtpSettings name after rtp as such: "/rtp <settingsName>"'
- default: false
- jakesrtp.rtpondeath
- description: 'If rtp-on-death is enabled, players with this node will be respawn in a random location'
- default: false
- jakesrtp.noCooldown:
- description: 'Allows the user to ignore the cool-down timer'
- default: op
- jakesrtp.others:
- description: 'Allows the use of "/rtp" on other players'
- default: op
- jakesrtp.admin
- description: 'Allows the usage of the "/rtp-admin" command.'
- default: op
Commands & Permissions footnote:
While I update this spigot page relatively often, this project's GitHub page will always contain the most up-to-date information (though sometimes the information is relevant to development builds). For the best, most up-to-date list of commands and permissions, check out the direct link to the plugin.yml file.
Help / Bugs / Discussion & More
Having any issues? First, ask for help in #rtp-support,
or if you are sure you have found a bug, you can directly post it in #rtp-bugs.
If you have any recommendations, or just feedback in general you can always join the discord.
>> The Discord Link <<
Enjoy!
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.12, 1.13, 1.14
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Jake's RTP is a free Minecraft Java mod. Compatible with Minecraft 1.12, 1.13, 1.14, 1.15 and newer. Downloaded 24,078 times (via Spigot). Download it and open it directly in the game.