Config

This page contains the configuration structure for HuskClaims.

Configuration structure

📁 plugins/HuskClaims/

  • 📄 config.yml: General plugin configuration
  • 📄 server.yml: Server ID configuration
  • 📄 trust_levels.yml: Trust levels configuration (see Trust levels)
  • 📄 messages-xx-xx.yml: Plugin locales, formatted in MineDown (see Translations)

Example files

config.yml
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
# ┃      HuskClaims - Config     ┃
# ┃    Developed by William278   ┃
# ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
# ┣╸ Information: https://william278.net/project/huskclaims/
# ┣╸ Config Help: https://william278.net/docs/huskclaims/config/
# ┗╸ Documentation: https://william278.net/docs/huskclaims/

# Locale of the default language file to use. Docs: https://william278.net/docs/huskclaims/translations
language: en-gb
# Whether to automatically check for plugin updates on startup
check_for_updates: true
# Database settings
database:
  # Type of database to use (SQLITE, MYSQL or MARIADB)
  type: SQLITE
  # Specify credentials here if you are using MYSQL or MARIADB
  credentials:
    host: localhost
    port: 3306
    database: huskclaims
    username: root
    password: pa55w0rd
    parameters: ?autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true
  # MYSQL / MARIADB database Hikari connection pool properties
  # Don't modify this unless you know what you're doing!
  pool_options:
    size: 12
    idle: 12
    lifetime: 1800000
    keep_alive: 30000
    timeout: 20000
  # Names of tables to use on your database. Don't modify this unless you know what you're doing!
  table_names:
    META_DATA: huskclaims_metadata
    USER_DATA: huskclaims_users
    USER_GROUP_DATA: huskclaims_user_groups
    CLAIM_DATA: huskclaims_claim_worlds
# Cross-server settings
cross_server:
  # Whether to enable cross-server mode
  enabled: false
  # The cluster ID, for if you're networking multiple separate groups of HuskClaims-enabled servers.
  # Do not change unless you know what you're doing
  cluster_id: main
  # Type of network message broker to ues for data synchronization (PLUGIN_MESSAGE or REDIS)
  broker_type: PLUGIN_MESSAGE
  # Settings for if you're using REDIS as your message broker
  redis:
    host: localhost
    port: 6379
    # Password for your Redis server. Leave blank if you're not using a password.
    password: ''
    use_ssl: false
    # Settings for if you're using Redis Sentinels.
    # If you're not sure what this is, please ignore this section.
    sentinel:
      master_name: ''
      # List of host:port pairs
      nodes: []
      password: ''
# Claim flags & world settings
claims:
  # Default flags for regular claims
  default_flags:
    - PLAYER_DAMAGE_MONSTER
    - EXPLOSION_DAMAGE_ENTITY
    - PLAYER_DAMAGE_PLAYER
    - MONSTER_SPAWN
    - PASSIVE_MOB_SPAWN
  # Default flags for admin claims
  admin_flags:
    - PLAYER_DAMAGE_MONSTER
    - EXPLOSION_DAMAGE_ENTITY
    - PLAYER_DAMAGE_PLAYER
    - MONSTER_SPAWN
    - PASSIVE_MOB_SPAWN
  # List of enabled claim types. Must include at least the regular "CLAIMS" mode
  enabled_claiming_modes:
    - CLAIMS
    - CHILD_CLAIMS
    - ADMIN_CLAIMS
  # Default flags for the wilderness (outside claims)
  wilderness_rules:
    - BLOCK_PLACE
    - BLOCK_BREAK
    - BLOCK_INTERACT
    - REDSTONE_INTERACT
    - FARM_BLOCK_BREAK
    - FARM_BLOCK_PLACE
    - PLAYER_DAMAGE_PLAYER
    - PLAYER_DAMAGE_MONSTER
    - PLAYER_DAMAGE_ENTITY
    - PLAYER_DAMAGE_PERSISTENT_ENTITY
    - MONSTER_SPAWN
    - PASSIVE_MOB_SPAWN
    - MONSTER_DAMAGE_TERRAIN
    - EXPLOSION_DAMAGE_TERRAIN
    - EXPLOSION_DAMAGE_ENTITY
    - FIRE_BURN
    - FIRE_SPREAD
    - FILL_BUCKET
    - EMPTY_BUCKET
    - PLACE_HANGING_ENTITY
    - BREAK_HANGING_ENTITY
    - ENTITY_INTERACT
    - FARM_BLOCK_INTERACT
    - USE_SPAWN_EGG
    - ENDER_PEARL_TELEPORT
    - CONTAINER_OPEN
  # List of worlds where users cannot claim
  unclaimable_worlds: []
  # The number of claim blocks a user gets when they first join the server
  starting_claim_blocks: 100
  # The number of claim blocks a user gets hourly.
  # Override with the "huskclaims.hourly_blocks.(amount)" permission
  hourly_claim_blocks: 100
  # Claim inspection tool (right click with this to inspect claims)
  inspection_tool: minecraft:stick
  # Claim creation & resize tool (right click with this to create/resize claims)
  claim_tool: minecraft:golden_shovel
  # Require players to hold the claim tool to use claim commands (e.g. /claim <radius>, /extendclaim)
  require_tool_for_commands: true
  # Minimum size of claims. This does not affect child or admin claims.
  minimum_claim_size: 5
  # Max range of inspector tools
  inspection_distance: 64
  # Whether to allow inspecting nearby claims by sneaking when using the inspection tool
  allow_nearby_claim_inspection: true
  # Whether to require confirmation when deleting claims that have children
  confirm_deleting_parent_claims: true
# Groups of operations that can be toggled on/off in claims
operation_groups:
  - name: Claim Explosions
    description: Toggle whether explosions can damage terrain in claims
    toggle_command_aliases:
      - claimexplosions
    allowed_operations:
      - EXPLOSION_DAMAGE_TERRAIN
      - MONSTER_DAMAGE_TERRAIN
# Settings for user groups, letting users quickly manage trust for groups of multiple players at once
user_groups:
  # Whether to enable user groups
  enabled: true
  # The prefix to use when specifying a group in a trust command (e.g. /trust @groupname)
  group_specifier_prefix: '@'
  # Whether to restrict group names with a regex filter
  restrict_group_names: true
  # Regex for group names
  group_name_regex: '[a-zA-Z0-9-_]*'
  # Max members per group
  max_members_per_group: 10
  # Max groups per player
  max_groups_per_player: 3
# Settings for trust tags, special representations of things you can trust in a claim
trust_tags:
  # Whether to enable trust tags
  enabled: true
  # The prefix to use when specifying a trust tag in a trust command (e.g. /trust #tagname)
  tag_specifier_prefix: '#'
  # The name of the default public access tag (to let anyone access certain claim levels)
  public_access_name: public
# Settings for the claim inspection/creation highlighter
highlighter:
  # Whether to use block display entities for glowing (requires Paper 1.19.4+)
  block_displays: true
  # If using block displays, whether highlights should use a glow effect (requires Paper 1.19.4+)
  glow_effect: true
  # The blocks to use when highlighting claims
  block_types:
    CORNER: minecraft:glowstone
    EDGE: minecraft:gold_block
    CHILD_CORNER: minecraft:iron_block
    CHILD_EDGE: minecraft:white_wool
    ADMIN_CORNER: minecraft:glowstone
    ADMIN_EDGE: minecraft:pumpkin
    OVERLAP_CORNER: minecraft:red_nether_bricks
    OVERLAP_EDGE: minecraft:netherrack
    SELECTION: minecraft:diamond_block
  # The color of the glow effect used for blocks when highlighting claims
  glow_colors:
    CORNER: YELLOW
    EDGE: YELLOW
    CHILD_CORNER: SILVER
    CHILD_EDGE: SILVER
    ADMIN_CORNER: ORANGE
    ADMIN_EDGE: ORANGE
    OVERLAP_CORNER: RED
    OVERLAP_EDGE: RED
    SELECTION: AQUA
# Settings for protecting tamed animals (pets). Docs: https://william278.net/docs/huskclaims/pets
pets:
  # Whether to enable protecting tamed animals to only be harmed/used by their owner
  enabled: true
# Settings for integration hooks with other plugins
hooks:
  luck_perms:
    # Whether to hook into LuckPerms for permission group trust tags
    enabled: true
    # Require users to have the "huskclaims.trust.luckperms" permission to use LuckPerms trust tags
    trust_tag_use_permission: true
    # The prefix to use when specifying a LuckPerms group trust tag (e.g. /trust #role/groupname)
    trust_tag_prefix: role/
  husk_homes:
    # Whether to hook into HuskHomes for claim teleportation and home restriction
    enabled: true
    # Whether to restrict setting a home in claims to a trust level
    restrict_set_home: true
    # The trust level required to set a home in a claim (the ID of a level in 'trust_levels.yml')
    set_home_trust_level: access
  economy:
    # Whether to hook into an economy plugin to allow buying claim blocks
    enabled: true
    # The cost of buying 1 claim block
    cost_per_block: 1.0
  map:
    # Whether to hook into Dynmap, BlueMap, or Pl3xMap to show claims on the map
    enabled: true
    # What colors to use for types of claims on the map. Remove a pairing to hide claims of that type.
    colors:
      CLAIMS: '#ffff55'
      CHILD_CLAIMS: '#ffffff'
      ADMIN_CLAIMS: '#aa0000'
    # The name of the marker set key
    marker_set_name: Claims
    # The label format for markers. '%s' will be replaced with the claim owner's name
    label_format: Claim by %s
server.yml
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
# ┃  HuskClaims Server ID config ┃
# ┃    Developed by William278   ┃
# ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
# ┣╸ This file should contain the ID of this server as defined in your proxy config.
# ┗╸ If you join it using /server alpha, then set it to 'alpha' (case-sensitive)
name: beta