Skip to main content

CannonRTP (WorldCannon)

CannonRTP is a multi-cannon random-teleportation plugin for Minecraft servers. The project is named WorldCannon internally, but the plugin registers as CannonRTP in Bukkit and that is the name players and admins see.

Key naming details:

  • Plugin name: CannonRTP
  • Root command: /cannonrtp
  • Aliases: /crtp, /wc
  • Permissions: cannonrtp.admin, cannonrtp.use
  • Config folder: plugins/CannonRTP/

What It Does

CannonRTP is a multi-cannon random-landing system rather than a single fixed launcher.

Each cannon can:

  • watch for players entering a trigger radius
  • preload and maintain a queue of safe landing locations in a configured target world
  • reject unsafe terrain, blocked spaces, and protected land
  • optionally require an extra per-cannon permission
  • launch players through a levitation phase with coordinate preview, vertical boost, teleport, and slow-fall sequence
  • optionally display a FreeMinecraftModels custom model at the cannon location (per-cannon or via a global priority list)

Launch Flow

When a player walks into an eligible cannon's trigger radius:

  1. CannonRTP checks cannonrtp.use.
  2. It checks the cannon's optional requiredPermission.
  3. It verifies the cannon is enabled, has a valid configuration, and has preloaded landing locations.
  4. It consumes one preloaded safe landing location from that cannon's queue.
  5. Searching phase (66 ticks / ~3.3 seconds): the player gets Levitation and sees title/subtitle displays with randomized coordinate previews. If the cannon has a custom model, the model's fire animation plays.
  6. Firing phase: Levitation is removed, the blast-off sound plays, and vertical boost is applied for the configured number of ticks. The true destination coordinates are revealed.
  7. Teleporting phase: the player is teleported 50 blocks above the destination and Slow Falling is applied.
  8. Dropping phase: the player drifts down. A smoke trail renders during the fall.
  9. Landing phase: Slow Falling is removed when the player touches the ground (or the maximum duration expires) and an impact particle burst plays.

Landing Safety Rules

Before a location is accepted into the preload queue, the current code checks:

  • the target world is loaded
  • the search center is valid
  • the location is inside the world border
  • a highest safe surface exists (solid, non-liquid, non-air)
  • the feet and head spaces are passable
  • the landing surface is not in the configured unsafe ground materials list
  • the feet and head blocks are not in the configured unsafe body materials list
  • all enabled protection plugin integrations allow the location

Cannon States

Each cannon has an internal state visible via /wc status:

DisplayInternal StateMeaning
Disabled--The cannon is explicitly disabled in its config
ChargingSEARCHING (queue empty)Still preloading its first batch of safe locations
MaintainingSEARCHING (queue not empty)Has some locations but is still refilling consumed slots
ReadyREADYHas enough preloaded locations to launch players
ExhaustedEXHAUSTEDTimed out without finding enough valid locations
InvalidINVALID_CONFIGURATIONConfiguration error (e.g. unloaded target world)

A cannon becomes launch-ready once it has stored at least chargedLocationsPerCannon valid destinations.

Runtime Expectations

  • Minecraft API: 1.21
  • Java: 21
  • Recommended server software: Paper or a current compatible fork
  • Optional dependency: FreeMinecraftModels (for custom cannon models)

Start Here