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.enabledprotection.worldGuard.allowGlobalRegionOnlyprotection.worldGuard.allowBuildAllowedRegionsprotection.worldGuard.allowPassthroughRegions
Default behavior:
- enabled by default
- locations covered only by
__global__are allowed by default - regions with
build=ALLOWare allowed by default - regions with
passthrough=ALLOWare allowed by default - other matching protected regions are blocked
Towny
Config keys:
protection.towny.enabledprotection.towny.allowWildernessprotection.towny.allowNationZonesprotection.towny.allowClaimedTownBlocks
Default behavior:
- enabled by default
- wilderness is allowed
- nation zones are blocked
- claimed town blocks are blocked
Lands
Config keys:
protection.lands.enabledprotection.lands.allowUnclaimedAreasprotection.lands.allowClaimedAreas
Default behavior:
- enabled by default
- unclaimed areas are allowed
- claimed areas are blocked
GriefPrevention
Config keys:
protection.griefPrevention.enabledprotection.griefPrevention.allowWildernessprotection.griefPrevention.allowAdminClaimsprotection.griefPrevention.allowPlayerClaims
Default behavior:
- enabled by default
- wilderness is allowed
- admin claims are blocked
- player claims are blocked
HuskTowns
Config keys:
protection.huskTowns.enabledprotection.huskTowns.allowWildernessprotection.huskTowns.allowAdminClaimsprotection.huskTowns.allowRegularClaimsprotection.huskTowns.allowFarmClaimsprotection.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.enabledprotection.huskClaims.allowWildernessprotection.huskClaims.allowAdminClaimsprotection.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