HomeJavaModsJake's RTP
Jake's RTP
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]
‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒

Spoiler: Previous Versions / Compatibility
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
* 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:
...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


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.
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)
Spoiler
upload_2020-6-14_17-37-46.png
upload_2020-6-14_17-38-4.png
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)
[​IMG]
Spoiler: And here are two settings I like.
[​IMG]
[​IMG]

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!

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

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.

Explore more