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
‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒ Jake's Random Teleporter[J-RTP] ‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒
MC Version ~ J-RTP version
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: Even though v0.13.12 is the last version supporting older versions of Minecraft, it still has 99% of the features and functionality of the newest versions. 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.
*Denotes static settings. (Settings that are not per config, and generally are only applicable to one config at a 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:
World Guard (Must set world guard flag to prevent teleporting)
Grief Prevention
Husk Towns
Lands
...and more are planned to be added!
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
This is an old version of the config. The new config is split between multiple files, but does contain all of these settings.
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.
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.
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)
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)
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 <<