RTP GUI – Clean & Simple World Teleportation for BetterRTP
RTP GUI adds a smooth, intuitive menu for random teleportation using the BetterRTP plugin. Instead of typing commands, players simply open a polished GUI and select the world they want to RTP to. It’s fast, clean, and designed to fit any server.
✨ Features
- Beautiful RTP Menu
Use /rtp to open a streamlined GUI with icons for each available world.
- Up to 6 Worlds Supported
Add custom worlds in the config. Choose exactly which worlds appear in the menu.
- Enable/Disable Worlds
Quickly toggle worlds on or off so players can only RTP where you want them to.
- Set Custom Materials In-Game
Use the built-in command to assign any material to a world’s GUI icon—perfect for quick adjustments without restarting.
- Reload Command
Refresh your config instantly with /rtpgui reload.
- Fully Configurable
Edit item slots, materials, names, lores, sounds, commands, GUI size, title, and more via config.yml.
- Works With BetterRTP
RTP GUI only handles the visual layer, it automatically executes your BetterRTP commands behind the scenes.
⚠️ Requirements
You must have BetterRTP installed.
Download it on Spigot:
https://www.spigotmc.org/resources/betterrtp-random-wild-teleport.36081/
Installation
- Download BetterRTP and RTP GUI.
- Drop both jars into your /plugins/ folder.
- Start or reload your server.
- Edit plugins/Rtpgui/config.yml to customize the menu.
- Use /rtp in-game to open the GUI.
Default Command Mapping
- Overworld: betterrtp player %player% world
- Nether: betterrtp player %player% world_nether
- End: betterrtp player %player% world_the_end
All commands can be replaced or customized for custom world names or different RTP setups.
⚙️ Config.yml
Code (Text):
gui:
size: 27
title: '&8ʀᴛᴘᴍᴇɴᴜ'
fill-background: false
background-material: GRAY_STAINED_GLASS_PANE
# enable/disable base world buttons
overworld-rtp: true
nether-rtp: true
end-rtp: true
# base worlds configuration
worlds:
overworld:
material: GRASS_BLOCK
display-name: <#00FF00> Overworld RTP
lore:
- '&f&l| <#00FF00>Teleport &fto a random'
- '&f&l| &flocation in <#00FF00>The Overworld'
- '&f&l| &fClick to <#00FF00>teleport &fnow!'
command: betterrtp player %player% world
nether:
material: NETHERRACK
display-name: <#FF5500> Nether RTP
lore:
- '&f&l| <#FF5500>Teleport &fto a random'
- '&f&l| &flocation in <#FF5500>The Nether'
- '&f&l| &fClick to <#FF5500>teleport &fnow!'
command: betterrtp player %player% world_nether
end:
material: END_STONE
display-name: <#F7E07A> The End RTP
lore:
- '&f&l| <#F7E07A>Teleport &fto a random'
- '&f&l| &flocation in the <#F7E07A>The End'
- '&f&l| &fClick to <#F7E07A>teleport &fnow!'
command: betterrtp player %player% world_the_end
# custom worlds (disabled by default)
# their command is set to: betterrtp player %player% <world_name>
# plugin will replace <world_name> with the customworld key or the world-name value if set.
customworlds:
customworld1:
enabled: false
slot: 0
item-material: DIAMOND
item-display-name: <#FF00FF>Custom 1
item-lore:
- Click to run custom command 1
command: betterrtp player %player% <world_name>
# optional: world-name: "my_custom_world_name"
customworld2:
enabled: false
slot: 1
item-material: EMERALD
item-display-name: <#00FFFF>Custom 2
item-lore:
- Click to run custom command 2
command: betterrtp player %player% <world_name>
customworld3:
enabled: false
slot: 2
item-material: GOLD_INGOT
item-display-name: <#FFD700>Custom 3
item-lore:
- Click to run custom command 3
command: betterrtp player %player% <world_name>
# material picker options
material-picker:
filler: GRAY_STAINED_GLASS_PANE
# messages
messages:
material-picker-title: <#00AAFF>Choose material for %world%
material-saved: '&aSaved material for %world%!'
material-removed: '&cRemoved material for %world%!'
reloaded: '&aRtpGUI config reloaded.'
no-perm: '&cYou don''t have permission to do that.'
usage: '&cUsage: /rtpgui <reload|material>'
usage-material: '&cUsage: /rtpgui material <overworld|nether|end|customworld1|customworld2|customworld3>'
invalid-world: '&cInvalid world key.'
# sound when clicking (we use ENTITY_EXPERIENCE_ORB_PICKUP)
click-sound: ENTITY_EXPERIENCE_ORB_PICKUP
Visual Representation
