Skip to main content

CannonRTP Commands and Permissions

CannonRTP registers its commands under the cannonrtp namespace.

  • Root command: /cannonrtp
  • Aliases: /crtp, /wc

/wc is the short alias most admins will use, but the underlying permission node is cannonrtp.admin for every subcommand.

Admin Commands​

create, place, remove, target, and center save their configuration before applying the change. If saving fails, the command reports the error and does not reload or apply that change. Fix the reported file problem before retrying.

After a successful change, these commands and delete rebuild every cannon, not only the one you edited. Active launches are cancelled and those players are returned to their cannon seat, every cannon discards its queued destinations and starts searching again, and all launch cooldowns reset.

CommandSenderDescription
/cannonrtpAnyShows the help header followed by every registered subcommand the sender can use
/wc helpAnySame as /cannonrtp -- prints the help listing
/wc create <id>PlayerCreates a brand new cannon config and places the first instance at your current location. Refuses an id that already exists; use /wc place to add a placement to it.
/wc create <id> <display_name>PlayerSame as above, but sets a custom display name (underscores become spaces)
/wc place <id>PlayerAppends another placement of an existing cannon at your current location
/wc remove <id>PlayerRemoves the nearest placement of <id> in your current world (config file is kept)
/wc delete <id>AnyDeletes the cannon's config file outright
/wc target <id> <world>PlayerChanges the cannon's target landing world
/wc center <id>PlayerSets the cannon's search center to your current location
/wc listAnyLists every placement with display name, status, queue size, and last status detail
/wc statusAnySame output as /wc list
/wc probePlayerTests whether your current location would pass all enabled protection checks
/wc reloadAnyFully reloads CannonRTP: every config file, cannon, and protection adapter, plus anything waiting in the imports/ folder
/wc setupPlayerOpens the Nightbreak-style content browser menu (lists installed and downloadable cannon packages)
/wc recommendedpluginsAnyOpens the Nightbreak catalog of recommended companion plugins for CannonRTP
/wc downloadpluginupdateAnyDownloads a newer CannonRTP plugin jar from Nightbreak. It is used after the next server restart, or sooner if nightbreak.applyPluginUpdatesWithoutRestart in config.yml is when-empty or immediately
/wc applypluginupdateAnyApplies an already downloaded CannonRTP update without a restart by reloading the plugin from the new jar. Refused when no valid, newer update is waiting, when a plugin from another author depends or soft-depends on CannonRTP, or while another plugin swap is running. If the new jar fails to enable, the previous jar is loaded again and the update stays in the update folder for the next restart. See Applying Updates Without a Restart.
/wc downloadallAnyDownloads the CannonRTP plugin update and every available content package from Nightbreak
/wc downloadallcontentAnyDownloads every available CannonRTP content package from Nightbreak (content only, no plugin jar)
/wc updatecontentAnyDownloads updates for outdated CannonRTP content packages (alias: /wc updateallcontent)
/wc forcereinstallcontent <package|all>AnyRe-downloads content from Nightbreak even when the local copy is already current -- use it to repair damaged or hand-edited package files. Pass all for every already-downloaded package, or tab-complete a single Nightbreak package slug (free-cannon-model, cannonrtp-premium-cannon-model).

/wc initialize opens the first-time setup menu for players with cannonrtp.admin. /wc setup opens the content browser. The shared bootstrap registers both commands; preset modes do not determine whether initialize exists.

Until setup is marked done (setupDone in config.yml), players with cannonrtp.admin get a chat reminder about 10 seconds after joining, with clickable links to /wc initialize and /wc setup. Each choice in the first-time menu (Recommended Setup, Manual Setup, Use Current Content) sets setupDone to true and stops the reminder.

All of the admin subcommands above require cannonrtp.admin.

These Nightbreak commands ship inside CannonRTP

/wc setup, /wc initialize, /wc recommendedplugins, /wc downloadpluginupdate, /wc applypluginupdate, /wc downloadall, /wc downloadallcontent, /wc updatecontent, and /wc forcereinstallcontent are provided by the shared MagmaCore library that is shaded into CannonRTP. They are registered automatically -- you do not see them in plugin.yml. The separate /nightbreaklogin command (also from MagmaCore) links the server to your Nightbreak account for premium downloads, and /nightbreaklogout disconnects it (see Disconnecting a Server).

MagmaCore also registers /wcchangelog, which shows admins unread CannonRTP and cannon package release notes. See Changelog Notifications.

See the Content Packages page for details on what /wc setup, /wc downloadall, and /wc updatecontent actually manage.

create vs place vs remove vs delete

One cannon config (plugins/CannonRTP/cannons/<id>.yml) can drive many in-world placements. create makes the config and seeds the first placement. place appends another placement to an existing config. remove deletes one placement (the closest one to you in your world) but keeps the config. delete deletes the config file outright, removing every placement. The three built-in files (example_cannonrtp, cannonrtp_free_cannon, cannonrtp_premium_cannon) come back with their default values and no placements on the reload that follows.

Player Interaction​

There is no player command to activate a cannon. Players use CannonRTP by walking into the cannon's trigger radius (triggerRadius, default 1.75 blocks).

Permissions​

Two permission nodes are registered in plugin.yml:

PermissionDefaultDescription
cannonrtp.adminopRequired for every admin subcommand (including the bundled Nightbreak setup / downloadall / updatecontent commands)
cannonrtp.usetrueRequired before a player can trigger any cannon

The shared /nightbreaklogin and /nightbreaklogout commands (provided by MagmaCore, not declared in CannonRTP's plugin.yml) use their own nightbreak.login permission node, which defaults to op.

How cannonrtp.use works​

If a player lacks cannonrtp.use, the cannon silently ignores that player. No denial message is sent for this base permission check -- they simply walk through the cannon area without launching.

Per-Cannon Permission Gate​

Each cannon config can also define a requiredPermission field.

  • If requiredPermission is blank (the default), the cannon only checks cannonrtp.use.
  • If requiredPermission is set and the player has cannonrtp.use but lacks the per-cannon node, CannonRTP sends the configured noPermission message including the cannon's display name. The message is throttled to once every three seconds per player per cannon.

Tab Completion​

Commands that act on an existing cannon (place, remove, delete, target, center) tab-complete <id> from the list of known cannon config ids, and only accept an id that already exists. /wc create is the exception: its <id> and <display_name> are free text, so tab completion only shows the <id> / <display_name> hint. Commands that take a <world> argument tab-complete from the list of currently loaded world names, and /wc forcereinstallcontent tab-completes all plus each Nightbreak package slug.