Skip to main content

WorldCannon Configuration

WorldCannon uses one global config file plus one config file per cannon.

File Layout

  • Global config: plugins/FunRTP/config.yml
  • Per-cannon configs: plugins/FunRTP/custom/fun_rtps/<id>.yml

The plugin also ships an example cannon package named example_world_cannon. It is disabled by default.

Global Config Structure

The main config is organized under:

  • runtime.*
  • landing.*
  • messages.*
  • protection.*

Runtime Settings

KeyDefaultBehavior
runtime.scanIntervalTicks10How often cannons check for nearby players
runtime.particleIntervalTicks15How often idle cannon particles render

Landing Search Settings

KeyDefaultBehavior
landing.searchAttemptsPerTick2Search attempts per cannon per tick while preloading
landing.preloadedLocationsPerCannon5Number of safe destinations the plugin tries to keep queued
landing.searchTimeoutSeconds1000Time before a still-searching cannon is marked exhausted
landing.slowFallingSeconds60Slow Falling duration after arrival (effect is removed early when the player lands)
landing.failOpenOnProtectionErrorsfalseIf a protection API errors, block the landing by default

Landing Sounds

The following sound keys are configurable:

  • landing.sounds.levitationStart.sound
  • landing.sounds.levitationStart.volume
  • landing.sounds.levitationStart.pitch
  • landing.sounds.blastOff.sound
  • landing.sounds.blastOff.volume
  • landing.sounds.blastOff.pitch

Default sounds are BLOCK_BEACON_ACTIVATE for warmup and ENTITY_GENERIC_EXPLODE for blast-off.

Unsafe Material Lists

WorldCannon rejects candidate landing spots based on two material lists:

  • landing.unsafeGroundMaterials
  • landing.unsafeBodyMaterials

Default unsafe ground materials:

  • LAVA
  • MAGMA_BLOCK
  • CAMPFIRE
  • SOUL_CAMPFIRE
  • CACTUS
  • POWDER_SNOW

Default unsafe body materials:

  • LAVA
  • WATER
  • FIRE
  • SOUL_FIRE
  • SWEET_BERRY_BUSH
  • POWDER_SNOW
  • COBWEB

Message Settings

The plugin exposes message and title keys under:

  • messages.prefix
  • messages.helpHeader
  • messages.createdCannon
  • messages.deletedCannon
  • messages.movedCannon
  • messages.targetWorldUpdated
  • messages.searchCenterUpdated
  • messages.reload
  • messages.noPermission
  • messages.cannonDisabled
  • messages.queueCalibration
  • messages.noValidLocationYet
  • messages.noValidLocationFound
  • messages.invalidConfiguration
  • messages.statusLine
  • messages.probeAllowed
  • messages.probeBlocked
  • messages.unknownCommand
  • messages.titles.launchQueuedTitle
  • messages.titles.launchQueuedSubtitle
  • messages.titles.destinationPreviewTitle
  • messages.titles.destinationPreviewSubtitle
  • messages.titles.destinationConfirmedTitle
  • messages.titles.destinationConfirmedSubtitle
  • messages.titles.arrivalSubtitles

The title keys control the automatic launch and arrival messaging. arrivalSubtitles is a list; the plugin picks one line at random each launch. There is no manual confirmation prompt in the current implementation.

Per-Cannon Config Fields

Each cannon file stores these fields:

FieldDefaultNotes
isEnabledtrue for newly created cannonsDisabled cannons do not trigger
displayNameSanitized id with underscores turned into spacesUsed in messages and status output
cannonLocationRequiredWhere the cannon trigger exists
targetWorldCurrent world at creation timeMust be loaded at runtime
searchCenterCurrent world spawn at creation timeIf unset later, the plugin falls back to the target world's spawn
triggerRadius1.75Radius used to detect nearby players
minSearchRadius500Minimum landing search distance from the search center
maxSearchRadius5000Maximum landing search distance from the search center
launchWarmupSeconds6Levitation/countdown time before launch
verticalBoostTicks45Ticks of upward velocity before teleport
verticalBoostVelocity1.35Upward velocity applied during launch
enableParticlestrueControls idle cannon particles
requiredPermissionblankOptional extra permission gate for that cannon

Cannon Creation Defaults

When you run /wc create:

  • the cannon id is lowercased and characters other than a-z, 0-9, _, and - are replaced with _
  • the display name defaults to the sanitized id with underscores converted to spaces
  • cannonLocation is set to your current location
  • targetWorld is set to your current world
  • searchCenter is set to that world's spawn

Runtime Validation Behavior

WorldCannon rejects candidate landing locations when any of these checks fail:

  • the target world is unloaded
  • the search center is invalid
  • the random sample lands outside the world border
  • no safe solid surface is found
  • the feet or head space is blocked
  • the terrain or body blocks match the configured unsafe material lists
  • a protection integration blocks the landing

If a cannon cannot find valid locations before landing.searchTimeoutSeconds, it becomes exhausted and starts returning the configured failure message instead of launching players.