Content generated with AI — it may contain mistakes.

Reference

Configuration

config.yml key by key, plus what messages.yml, lfc.yml and lfp.yml hold.

Four files, all generated from typed records on first start — comments included. A key the reader does not recognise is pruned, so a stray line disappears on the next start rather than being silently ignored. Five blocks are exempt because their keys are yours: default-roles, levels.level-definitions, levels.kill-streak-bonuses, and the categories block of each recruitment file.

settings

settings:
  max-members: 30
  max-alliances: 5
  max-rivals: 10
  invite-expire-seconds: 60
  home-warmup-seconds: 5
  home-cancel-on-move: true
  home-cancel-on-damage: true
  home-warmup-tick-sound: "UI_BUTTON_CLICK|0.6|1.3"
  regroup-warmup-seconds: 5
  regroup-cancel-on-move: true
  regroup-cancel-on-damage: true
  regroup-warmup-tick-sound: "UI_BUTTON_CLICK|0.6|1.3"
  regroup-cooldown-seconds: 60
  regroup-expire-seconds: 60
  clan-name-min-length: 3
  clan-name-max-length: 16
  clan-name-regex: "^[a-zA-Z0-9_]+$"
  visibility-mode: DISABLED
  forced-ff-worlds: []
  chat:
    quick-clan-prefixes: ["."]
    quick-ally-prefixes: ["@"]
KeyDefaultWhat it does
max-members30Base member cap, before level bonuses
max-alliances5Base alliance cap
max-rivals10Base rival cap
invite-expire-seconds60How long an alliance request stays pending
home-warmup-seconds5Countdown on /clan home. 0 is instant
home-cancel-on-movetrueMoving cancels the warmup
home-cancel-on-damagetrueDamage cancels it
home-warmup-tick-soundsee aboveNAME|VOLUME|PITCH per second. Blank for silence
regroup-*as aboveThe same four for /clan regroup join
regroup-cooldown-seconds60Per clan, between calls. 0 disables
regroup-expire-seconds60How long a regroup point stays joinable. 0 never expires
clan-name-min-length3Shortest clan name
clan-name-max-length16Longest
clan-name-regex^[a-zA-Z0-9_]+$Pattern a name must match
visibility-modeDISABLEDDISABLED, CLAN_ONLY, ALLY_ONLY, CLAN_AND_ALLY_MIXED or UNIFIED. See Relations
forced-ff-worlds[]Worlds where friendly fire is always on
chat.quick-clan-prefixes["."]Prefixes that send one line to clan chat
chat.quick-ally-prefixes["@"]Prefixes that send one line to clan and allies
`invite-expire-seconds` does not expire clan invites

It is read by the alliance request cache only. A /clan invite is a row in clan_invites with no expiry: it stands until it is accepted, declined, cancelled, or the invited player joins a clan. Nothing prunes them, so a clan that invites widely accumulates rows.

modules

Twelve booleans, all true. See Modules.

logs

logs:
  max-entries-per-clan: 200

mail

mail:
  expiry-days: 14
  expiry-check-interval-minutes: 30
  max-message-length: 256
  max-mails-per-clan: 100

rivals

rivals:
  kill-exp-multiplier: 2.0
  kill-stat-multiplier: 1.0
  notify-target-on-declare: true

claims

claims:
  base-price: 500.0
  price-per-block: 1.0
  min-area: 25
  max-area: 10000
  pillar-duration-seconds: 10
  min-separation: 5
  map-radius: 200
  reclaim-enabled: true
  reclaim-fee: 0.0
  protection-mode: WORLDGUARD

See Claims.

dtr

dtr:
  no-loss-worlds: []
  death-loss: 0.9
  members-per-point: 3
  frozen-duration-seconds: 600
  regen-amount: 0.1
  regen-interval-seconds: 45
  min-dtr: -1.0
  color-normal: "&a"
  color-regenerating: "&e"
  color-frozen: "&b"
  color-raidable: "&c"

See DTR.

levels

max-level, exp-actions, level-definitions and kill-streak-bonuses. See Levels.

kick-protection

kick-protection:
  enabled: true
  duration-seconds: 120
KeyDefaultWhat it does
enabledtrueWhether a kicked player gets a truce at all
duration-seconds120How long it lasts

For the whole rule — who it covers and why it beats forced-ff-worlds — see Relations.

relational-placeholders

The four labels and four colours one player is drawn with to another. See Placeholders.

bossbars

focus, camp and rally, each with enabled and a config of text, color and style; the two markers also take max-distance and duration-seconds. See War tools.

home-effects and regroup-effects

Two identical blocks, one per teleport:

home-effects:
  warmup-actionbar:
    text: "{primary}⏳ Clan Home {muted}| {primary}Teleportando en {highlight}%time%"
  warmup-title:
    title: "{highlight}%time%"
    subtitle: "{muted}Do not move!"
    fade-in: 0
    stay: 10
    fade-out: 0
  teleport-title:
    title: "{primary}&lCLAN HOME"
    subtitle: "{muted}Welcome back!"
    fade-in: 10
    stay: 50
    fade-out: 15

%time% is the seconds remaining. Timings are ticks — twenty to a second. One shipped string is still Spanish: home-effects.warmup-actionbar.text reads Teleportando en. Everything else in both blocks is English.

default-roles

The ranks a new clan is built with. See Roles.

messages.yml

Thirteen sections under a prefix: clan, claim, errors, level, dtr, placeholders, logs, lfc, lfp, mail, admin and confirm. Around 460 keys between them — every line the plugin can send is in here, and nothing player-facing is hardcoded.

SectionWhat is in it
clanThe whole /clan surface: creation, invites, roles, bank, home, chat, the ten chat prompts
claimClaiming, unclaiming, the map, the claim tool's own name and lore
errorsEvery refusal, including module-disabled, kick-protection and role-name-invalid
levelLevel-ups, level-downs, EXP lines
dtrThe DTR display and the frozen, regenerating and raidable detail lines
placeholdersShort words the menus and the PlaceholderAPI layer substitute — see below
logsThe five log line templates: with and without a target, detail, no detail, unknown actor
lfc, lfpThe recruitment boards on both sides
mailThe clan mailbox
adminEverything /clanadmin says
confirmThe wording of the shared confirmation screen

Three things are worth knowing about it:

  • Colours are palette tokens. {primary}, {error}, {highlight}, {success}, {warning}, {muted}, {info}, {letters} — so recolouring the server never means editing this file.
  • A line may open with an effect tag. [sound:ENTITY_VILLAGER_NO|1.0|1.0] plays a sound and never reaches the screen. Most of the shipped lines carry one.
  • %prefix% is substituted from the prefix key, and MiniMessage click and hover tags work — the shipped invite line is a clickable Accept button.

The placeholders section is a bag of short words that get substituted — Yes, No, Enabled, Online, the progress-bar characters — so thirty-seven menu files do not each spell their own. Two of its keys are also read by the PlaceholderAPI layer: placeholders.none is what %exyliaclans_clan_name% and %exyliaclans_clan_role% answer for a player with no clan, and placeholders.na is what an empty roster slot or an unranked leaderboard position answers. See Placeholders.

lfc.yml and lfp.yml

settings plus a categories block you write. See Recruitment.

Reloading

/clanadmin reload re-reads all four files, rebuilds the level table, re-reads the recruitment categories, applies a changed visibility-mode to everybody online, and recompiles the menus. Changes to default-roles only reach clans created afterwards.

Something missing on this page? Tell us on Discord