Intro to Random Teleporting
The CMI Random Teleport feature allows the server owner to forcefully teleport players to a random location in a world.
It can be very handy for certain events, a custom alias, or for what it is mostly used for, the /rtp command.
Configure the /rtp command
# /cmi rt $1- /rt: Enabled: true Tab: true /rtp: Enabled: true Tab: trueAfter saving the file you can do a /cmi reload, and you can use the commands right away. However, in newer versions of Minecraft these will show red until you do a /stop and then start the server again.The AliasEditor method:In-game you can type create a new /rtp command with the /cmi aliaseditor command, after typing it, press the green + icon, and then you call it rtp, and then the next green + icon will let you add (multiple) commands. You can use this to have commands to play particles, delays, give custom msg, actionmsg, etc. And run the full cmi rt command as a console command to force it to a certain world, etc.Below is an example of a cmi-rtp-cmd.yml file you can drop in the plugins/CMI/CustomAlias/ folder (and then /cmi reload or restart the server).
CustomAlias: rtp: Cmds: - asConsole! cmi sound block_conduit_deactivate [playerName] - asConsole! cmi titlemsg [playerName] &6⸭ ⸭ ⸭\n&fCharging teleporter - delay! 3 - asConsole! cmi titlemsg [playerName] &6⸭ ⸭ ⸭\n&fTeleporter is ready! - asConsole! cmi rt [playerName] - delay! 0.2 - asConsole! cmi sound entity_generic_explode [playerName]This example shows you how to play a sound, add a delay, show a custom title message, run the cmi rt command, and play an end-sound. You can of course make the custom aliaseditor made /rtp command do whatever you want. Including calling the command /random or /rt or /teleporter.
Configuration (command / config.yml)
There are a few ways you can (auto) configure your /cmi rt behavior. There are quite a few config.yml settings, as well as some in-game commands. Make sure your global and/or per-world specific settings are properly configured to avoid unwanted results.
Commands: (for full syntax, see further down this page)/cmi setrt world center:0,0 min:250 max:5000 square enabled
Config.yml:
RandomTeleportation: # If this set to true we will generate random teleport default settings for all detected worlds # Setting to false will not longer generate world setups, but you can add them manually if needed AutoGenerateWorlds: true Worlds: # World name to use this feature. Add annother one with appropriate name to enable random teleportation world: Enabled: true # Max coordinate to teleport, setting to 1000, player can be teleported between -1000 and 1000 blocks between defined center location # For example having centerX at 2000 and centerZ at 3000 while MaxRange is set to 1500 we will teleport player between x:500;z:1500 and x:3500;z:4500 coordinates MaxRange: 1000 # If maxcord set to 1000 and mincord to 500, then player can be teleported between -1000 to -500 and 1000 to 500 coordinates MinRange: 500 CenterX: 0 CenterZ: 0 Circle: false IgnoreWater: true IgnoreLava: true ignorePowderSnow: false minY: -50 maxY: 300 world_nether: Enabled: true MaxRange: 25000 MinRange: 100 CenterX: 25 CenterZ: -50 Circle: true IgnoreWater: false IgnoreLava: true ignorePowderSnow: false minY: 0 maxY: 128 world_the_end: Enabled: true MaxRange: 1000 MinRange: 500 CenterX: 0 CenterZ: 0 Circle: false IgnoreWater: true IgnoreLava: true ignorePowderSnow: true minY: 0 maxY: 256 # How long force player to wait before using command again. Cooldown: 5 # How many times to try find correct location for teleportation. # Keep it at low number, as player always can try again after delay MaxTries: 20 # List of biomes to exclude from random teleportation ExcludedBiomes: - Ocean - Deep ocean
Warmups, Cooldowns, and Command-cost
CMI allows you to configure command cooldowns, warms, and a fee for running commands. You can configure this in the config.yml file.
Note that CMI’s RT feature (see above) has a Cooldown: setting.
Config.yml has a WarmUps: section where you can add the cmi rt command. Make sure the feature is set to enabled: true, of course.
For managing the cost of running a command in CMI, check the file: commandCost.yml
Redirect RT
You can use the specialized commands feature of CMI to update your /rtp command to recognize a player typing /rtp in for example the /lobby or /spawn worlds, and have them actually randomly teleport in a different world (redirecting the rt).
This currently only works if you make a custom aliaseditor made /rt or /rtp command (see further up on this page to learn how).
Edit your custom /rtp command, and before anything you have, add something like this:
ifinworld:spawn! asConsole! cmi rt [playerName] world_survival ifinworld:lobby! asConsole! cmi rt [playerName] world_games
Limited use of RT
Some servers owners desire players to only use the /rtp command once or only a few times. This information shows an example of how one could achieve this.
This currently only works if you make a custom aliaseditor made /rt or /rtp command (see further up on this page to learn how)
Edit your custom /rtp command, and adjust it to do the following:
perm:cmi.onetimertp! msg! [playerName] Sorry, you could only use /rtp once. perm:cmi.onetimertp@! asConsole! cmi rt [playerName] %cmi_player_world% perm:cmi.onetimertp@! asConsole! lp user [playerName] permission set cmi.onetimertp true
If you want to limit the use of /rtp to say 3 or 5 times, you might have to adjust the commands to read and set/increment the /cmi usermeta [needs more info ] [alias for usermeta needs to be made and tested]
Commands, Permissions & Placeholders
Commands: (list of teleport related commands here)
> cmi checkcommand rt -------------------------------------------------- /cmi setrt (worldName) (center:[x]:[z]) (min:[range]) (max:[range]) (square/circle) (enabled/disabled) /cmi rt (playerName) (worldName) (-s) >
Permissions:
> cmi checkperm rt -------------------------------------------------- cmi.command.rt - Teleports to random location cmi.safeteleport.bypass.[lava/void/suffocation/unknown/plugin/unsafeteleportation/noperm] - Allows to teleport into unsafe location without confirmation cmi.command.setrt - Set random teleport bounds cmi.teleport.with.[entitytype] - Allows teleportation with defined mount cmi.command.tpbypass - Bypass teleportation to unsafe location cmi.warmupbypass.[commandname] - Allows to bypass particular CMI command warmup cmi.randomteleport.cooldownbypass - Allows to bypass random teleport cooldown cmi.teleport.bypassblacklist - Allows to bypass protection from teleporting with blacklisted items cmi.command.rt.others - Teleports to random location cmi.chorusteleport - Allows to use chorus to teleport around cmi.safeteleport - Prevents teleportation to unsafe locations >
Placeholders: (there are no rt placeholders, but these are quite handy)
%cmi_user_backloc% %cmi_player_world% %cmi_player_x% %cmi_player_y% %cmi_player_z% %cmi_player_biome%