Skip to main content

Config: Faction Permissions

Configuration reference for faction-permissions.json — default territory permissions and server locks.

Faction Permissions Configuration

File Location

mods/com.hyperfactions_HyperFactions/config/faction-permissions.json

Controls default territory permissions for new factions and server-enforced permission locks.

Reload Required

Changes require /f admin reload or a server restart to take effect.

Structure

This config has two sections:

  • defaults — Default permissions for new factions. Also used as the forced value when a flag is locked.
  • locks — Which permissions factions cannot change. When locked, the defaults value is always used.

Block & Interaction Permissions

PermissionDefaultDescription
outsiderBreakfalseNon-members can break blocks
outsiderPlacefalseNon-members can place blocks
outsiderInteractfalseNon-members can interact
allyBreakfalseAllies can break blocks
allyPlacefalseAllies can place blocks
allyInteracttrueAllies can interact
memberBreaktrueMembers can break blocks
memberPlacetrueMembers can place blocks
memberInteracttrueMembers can interact

Use Permissions

Per level: outsider, ally, member, officer.

PermissionDefaultDescription
outsiderDoorUsefalseNon-members can use doors
outsiderContainerUsefalseNon-members can use containers
outsiderBenchUsefalseNon-members can use crafting benches
outsiderProcessingUsefalseNon-members can use processing stations
outsiderSeatUsefalseNon-members can use seats
allyDoorUsetrueAllies can use doors
allyContainerUsefalseAllies can use containers
allyBenchUsetrueAllies can use crafting benches
allyProcessingUsefalseAllies can use processing stations
allySeatUsetrueAllies can use seats
memberDoorUsetrueMembers can use doors
memberContainerUsetrueMembers can use containers
memberBenchUsetrueMembers can use crafting benches
memberProcessingUsetrueMembers can use processing stations
memberSeatUsetrueMembers can use seats
officerDoorUsetrueOfficers can use doors
officerContainerUsetrueOfficers can use containers
officerBenchUsetrueOfficers can use crafting benches
officerProcessingUsetrueOfficers can use processing stations
officerSeatUsetrueOfficers can use seats

Mob Spawning Controls

PermissionDefaultDescription
mobSpawningtrueAllow mob spawning in territory
hostileMobSpawningtrueAllow hostile mob spawning
passiveMobSpawningtrueAllow passive mob spawning
neutralMobSpawningtrueAllow neutral mob spawning

Treasury Permissions

PermissionDefaultDescription
treasuryDeposittrueMembers can deposit into treasury
treasuryWithdrawfalseMembers can withdraw from treasury
treasuryTransferfalseMembers can transfer treasury funds

General

PermissionDefaultDescription
pvpEnabledtruePvP allowed in territory
officersCanEditfalseOfficers can edit permissions

Default Configuration

The JSON format uses nested sections grouped by role level:

{
  "enabled": true,
  "defaults": {
    "outsider": {
      "break": false, "place": false, "interact": false,
      "doorUse": false, "containerUse": false, "benchUse": false,
      "processingUse": false, "seatUse": false
    },
    "ally": {
      "break": false, "place": false, "interact": true,
      "doorUse": true, "containerUse": false, "benchUse": true,
      "processingUse": false, "seatUse": true
    },
    "member": {
      "break": true, "place": true, "interact": true,
      "doorUse": true, "containerUse": true, "benchUse": true,
      "processingUse": true, "seatUse": true
    },
    "officer": {
      "break": true, "place": true, "interact": true,
      "doorUse": true, "containerUse": true, "benchUse": true,
      "processingUse": true, "seatUse": true
    },
    "mobSpawning": {
      "enabled": true, "hostile": true,
      "passive": true, "neutral": true
    },
    "pvpEnabled": true,
    "officersCanEdit": false
  },
  "locks": {
    "outsider": {
      "break": false, "place": false, "interact": false,
      "doorUse": false, "containerUse": false, "benchUse": false,
      "processingUse": false, "seatUse": false
    },
    "ally": {
      "break": false, "place": false, "interact": false,
      "doorUse": false, "containerUse": false, "benchUse": false,
      "processingUse": false, "seatUse": false
    },
    "member": {
      "break": false, "place": false, "interact": false,
      "doorUse": false, "containerUse": false, "benchUse": false,
      "processingUse": false, "seatUse": false
    },
    "officer": {
      "break": false, "place": false, "interact": false,
      "doorUse": false, "containerUse": false, "benchUse": false,
      "processingUse": false, "seatUse": false
    },
    "mobSpawning": {
      "enabled": false, "hostile": false,
      "passive": false, "neutral": false
    },
    "pvpEnabled": false,
    "officersCanEdit": false
  }
}

Lock Behavior

When a permission is locked (locks value = true), factions cannot change it. The value from defaults is always used instead. All flags are unlocked by default.

Flat Format Supported

The old flat format (outsiderBreak, allyPlace, etc.) is also accepted for backward compatibility, but new configs are saved in the nested format shown above.