Skip to main content

WorldCannon Protection Integrations

WorldCannon can validate candidate landing locations against several protection plugins before it queues them for use.

Supported Integrations

The current soft dependencies are:

  • WorldGuard
  • Towny
  • Lands
  • GriefPrevention
  • HuskTowns
  • HuskClaims

How Protection Checks Work

  • Adapters are checked in a fixed order: WorldGuard, Towny, Lands, GriefPrevention, HuskTowns, HuskClaims.
  • The first adapter that blocks a location stops the check and becomes the reported reason.
  • If an adapter is disabled in config or the plugin is not present, it is skipped.
  • If a protection API throws an error, WorldCannon blocks that landing by default.

The global safety toggle for API failures is:

  • landing.failOpenOnProtectionErrors

Default: false

When set to true, WorldCannon will allow landings to continue when a protection plugin cannot be queried safely.

Config Paths

All protection toggles live under protection.* in plugins/FunRTP/config.yml.

Per-Plugin Behavior

WorldGuard

Config keys:

  • protection.worldGuard.enabled
  • protection.worldGuard.allowGlobalRegionOnly
  • protection.worldGuard.allowBuildAllowedRegions
  • protection.worldGuard.allowPassthroughRegions

Default behavior:

  • enabled by default
  • locations covered only by __global__ are allowed by default
  • regions with build=ALLOW are allowed by default
  • regions with passthrough=ALLOW are allowed by default
  • other matching protected regions are blocked

Towny

Config keys:

  • protection.towny.enabled
  • protection.towny.allowWilderness
  • protection.towny.allowNationZones
  • protection.towny.allowClaimedTownBlocks

Default behavior:

  • enabled by default
  • wilderness is allowed
  • nation zones are blocked
  • claimed town blocks are blocked

Lands

Config keys:

  • protection.lands.enabled
  • protection.lands.allowUnclaimedAreas
  • protection.lands.allowClaimedAreas

Default behavior:

  • enabled by default
  • unclaimed areas are allowed
  • claimed areas are blocked

GriefPrevention

Config keys:

  • protection.griefPrevention.enabled
  • protection.griefPrevention.allowWilderness
  • protection.griefPrevention.allowAdminClaims
  • protection.griefPrevention.allowPlayerClaims

Default behavior:

  • enabled by default
  • wilderness is allowed
  • admin claims are blocked
  • player claims are blocked

HuskTowns

Config keys:

  • protection.huskTowns.enabled
  • protection.huskTowns.allowWilderness
  • protection.huskTowns.allowAdminClaims
  • protection.huskTowns.allowRegularClaims
  • protection.huskTowns.allowFarmClaims
  • protection.huskTowns.allowPlotClaims

Default behavior:

  • enabled by default
  • wilderness is allowed
  • admin claims are blocked
  • regular town claims are blocked
  • farm claims are blocked
  • plot claims are blocked

HuskClaims

Config keys:

  • protection.huskClaims.enabled
  • protection.huskClaims.allowWilderness
  • protection.huskClaims.allowAdminClaims
  • protection.huskClaims.allowPlayerClaims

Default behavior:

  • enabled by default
  • wilderness is allowed
  • admin claims are blocked
  • player claims are blocked

Non-Protection Validation Still Applies

Protection integrations are only one part of landing validation. A location can still be rejected because:

  • it is outside the world border
  • no safe surface exists
  • the feet or head space is blocked
  • the terrain matches the configured unsafe material lists