Skip to content

3.6.0

Choose a tag to compare

@Arona74 Arona74 released this 11 Apr 16:52
36ed6ec

Advanced pattern for blacklist/whitelist (check readme)

CarryOn support

  • Now placing blocks using carryOn will properly check claim permissions.
  • Config entry to consider claim permission also when placing entities (mobs/player) (false by default)

Permission consistency fixes
checkPermissions now uses player.getBlockPos() instead of entity.getBlockPos() when checking attack permissions — fixes cases where an animal wandered into an unclaimed or different faction's chunk while being attacked from own territory
New neutralAsGuest config option (default true): when a faction has no explicit relationship with the claim faction, they fall back to claimFaction.guest_permissions instead of defaultGuestPermissions, making factionless and neutral-factioned players consistent

Guest permission fallback system (relationships config section)
neutralAsGuest, friendlyAsGuest, allyAsGuest — each independently enables falling back to the claim faction's guest_permissions when no explicit relationship permissions have been set for that faction pair
allyAsGuest only applies when allyOverridesPermissions is false
Uses hasExplicitRelationship() to distinguish between a faction pair that was intentionally configured vs one that just has default permissions

Unclaim cooldown (power.unclaimCooldownSeconds, default 0 = disabled)
When a faction unclaims a chunk (single, area, or all), a timestamp is recorded on the faction
Any subsequent claim attempt by that faction is blocked until the cooldown expires, with a clear message showing remaining seconds
Cooldown is persisted via @field("LastUnclaimTime") on Faction — survives server restarts
Autoclaim disables itself automatically on cooldown hit

Config null safety — POWER section now has the same null fallback as every other section in Config.load()