MightyRTP
> **WARNING**: Be careful using this plugin in problematic worlds like CaveBlock or cave-generated worlds, as they can cause server crashes. It is **strongly recommended** to blacklist these worlds in the configuration.
**Support problems in form of a bad review will NOT be assisted, use the proper channels like a normal person.**
> **TIP**: For smoother teleportation, consider preloading chunks within your configured teleport distance using [Chunky](
https://github.com/pop4959/Chunky) or similar chunk preloading tools.
## Features
- **Smart Surface Detection**: Automatically discovers safe, random locations using intelligent terrain scanning instead of arbitrary Y levels
- **Advanced Safety System**: Comprehensive safety checks with configurable strictness levels (1-5 scale)
- **Performance Optimized**: Asynchronous teleport searching prevents server lag and TPS drops
- **World Management**: Flexible world restrictions and blacklisting
- **Cooldown System**: Configurable usage limits with bypass permissions
- **Rich Messaging**: Customizable titles, subtitles, and chat messages with MiniMessage support
- **Easy Configuration**: Extensive configuration options for all aspects of the plugin
- **Player Management**: Teleport other players with proper permission checks
- **User Experience**: Smart tab completion and intuitive command structure
- **Stable Performance**: No more server crashes from chunk loading operations
- **Update Checker**: Automatic update notifications with manual check command
- **Config Migration**: Automatic config migration preserves your settings when updating
- **Custom RTP Centers**: Set custom center points per world for RTP radius calculations
- **Custom Teleport Spots**: Pre-set teleport locations for controlled RTP destinations
## Quick Start
### Installation
1. Download the latest JAR file from releases
2. Place it in your server's `plugins` folder
3. Restart your server
4. Configure the plugin using the generated config files
### Basic Usage
- `/rtp` - Teleport to a random safe location
- `/rtp [player]` - Teleport another player (requires permission)
- `/rtp [player] [world]` - Teleport another player to specified world (requires permission)
- `/rtp-reload` - Reload plugin configuration (requires permission)
- `/rtp-update` - Check for plugin updates (requires permission)
- `/rtp-center` - Set RTP center point for current world (requires permission)
- `/rtp-set` - Add custom teleport spot at your location (requires permission, only works when `teleport-distance: CUSTOM`)
## Commands
**`/rtp`**
- Description: Teleport to random safe location
- Permission: `mightyrtp.rtp`
- Usage: `/rtp`
**`/rtp [player]`**
- Description: Teleport another player
- Permission: `mightyrtp.rtp.other`
- Usage: `/rtp <player>`
**`/rtp [player] [world]`**
- Description: Teleport another player or yourself to specified world
- Permission: `mightyrtp.rtp.other` + `mightyrtp.rtp.world`
- Usage: `/rtp <player> <world>`
**`/rtp-reload`**
- Description: Reload configuration
- Permission: `mightyrtp.reload`
- Usage: `/rtp-reload`
**`/rtp-update`**
- Description: Check for plugin updates
- Permission: `mightyrtp.update`
- Usage: `/rtp-update`
**`/rtp-center`**
- Description: Set the RTP center point for the current world (defaults to 0,0)
- Permission: `mightyrtp.admin`
- Usage: `/rtp-center` (stand where you want the center to be)
**`/rtp-set`**
- Description: Add a custom teleport spot at your current location (only works when `teleport-distance: CUSTOM` in config)
- Permission: `mightyrtp.admin`
- Usage: `/rtp-set` (stand where you want the teleport spot to be)
## Permissions
**`mightyrtp.rtp`**
- Description: Allows players to use /rtp command
- Default: `true`
**`mightyrtp.rtp.other`**
- Description: Allows players to use /rtp command on other players
- Default: `op`
**`mightyrtp.rtp.world`**
- Description: Allows players to use /rtp command with world specification
- Default: `op`
**`mightyrtp.bypass`**
- Description: Allows players to bypass the cooldown limit
- Default: `op`
**`mightyrtp.reload`**
- Description: Allows players to reload the plugin configuration
- Default: `op`
**`mightyrtp.update`**
- Description: Allows players to check for plugin updates
- Default: `op`
**`mightyrtp.admin`**
- Description: Allows players to set RTP center points and custom teleport spots
- Default: `op`
## Advanced Features
### Custom RTP Centers
Set custom center points for RTP radius calculations per world:
1. Stand at the desired center location
2. Run `/rtp-center`
3. All RTP teleports in that world will use this location as the center point
4. Centers are stored in `centers.yml` and persist across restarts
### Custom Teleport Spots
Use pre-set teleport locations instead of random generation:
1. Set `teleport-distance: CUSTOM` in `config.yml`
2. Stand at desired teleport locations and run `/rtp-set` for each spot
3. Players using `/rtp` will be teleported to random spots from your list
4. Spots are stored in `spots.yml` per world
5. Switch back to normal mode by setting `teleport-distance` to a number (e.g., `5000`) and reloading
**Note**: You must set spots for each world separately. Remember to reload config after changing modes.
## Troubleshooting
### Common Issues
**Plugin fails to find safe locations:**
- Increase `max-attempts` in config
- Verify world generation is working properly
- Consider adjusting `safety.strictness` (lower = more strict, higher = more lenient)
**Server lag during teleportation:**
- Ensure `async-teleport-search: true` is enabled
- Reduce `max-attempts` if needed
- Check server performance settings
**Chunk loading errors:**
- Verify server has sufficient RAM
- Check if world generation is enabled
- Ensure proper server permissions
### Performance Tips
- **Normal worlds**: Default settings work well
- **Complex terrain**: Increase `max-attempts` to 75-100
- **Cave worlds**: Set `safety.strictness` to 4-5 for more lenient placement, BUT HIGHLY RECOMMENDED TO BLOCK THESE WORLDS.
- **High-traffic servers**: Keep `max-attempts` moderate (50-75) to balance success rate and performance
## Support
If you need help or have suggestions, please join the linked Discord and navigate to #plugin-help
---