Jake's RTP icon

Jake's RTP -----

It teleports you, randomly! (Lots of settings, multiple worlds and configs supported)



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)
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]
[​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:
  • 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!
Resource Information
Author:
----------
Total Downloads: 21,906
First Release: Jun 14, 2020
Last Update: Apr 13, 2022
Category: ---------------
All-Time Rating:
23 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings