Skip to content

Configuration ​

All configuration files are stored inside plugins/AdvancedFFA/

To apply changes after editing any file, run /ffa reload


config.yml ​

This file handles global settings, timers, economy, and killstreak rewards:

yaml
# ============================================================================== #
#                             AdvancedFFA Configuration                          #
# ============================================================================== #

# Internal config version. Do not modify this manually.
config-version: 2

# Enable verbose debug logging in console
debug: false

# Default interval in minutes for arena restoration
restoration-interval-minutes: 10

# AFK protection
# When set to 0, players remain invulnerable until they make their first movement
spawn-protection-timeout-seconds: 0

# Spectator countdown duration in seconds before respawning at arena spawn
spectator-countdown-seconds: 3

# Tokens configuration
tokens:
  per-kill: 5

# Killstreaks configuration
killstreaks:
  broadcast: "<gold><bold>STREAK!</bold> <yellow>{player}</yellow> is on a <red><bold>{streak}</bold></red> killstreak!</gold>"
  rewards:
    3:
      tokens: 15
      commands: []
    5:
      tokens: 25
      commands:
        - "effect give {player} speed 10 1"
    10:
      tokens: 50
      commands:
        - "effect give {player} regeneration 5 1"

Setting Details ​

  • restoration-interval-minutes: Default frequency at which FAWE restores arena blocks. Can be overridden per-arena with /ffa arena edit <name> resetInterval <mins>.
  • spawn-protection-timeout-seconds: How long a player can stand still before their invulnerability expires. Setting this to 0 keeps them protected until they perform an action (move, attack, click).
  • spectator-countdown-seconds: Duration of the 3-second death spectator countdown before respawning.
  • tokens.per-kill: Amount of tokens awarded to the killer on each elimination.
  • killstreaks.broadcast: Message broadcast to everyone in the arena when a player reaches a streak of 3 or higher.
  • killstreaks.rewards.<count>: Milestone rewards triggered when reaching specific killstreaks. Awards extra tokens and runs optional console commands.

cosmetics.yml ​

Defines all available shop items across the 4 categories:

yaml
cosmetics-version: 2

kill_effects:
  lightning:
    name: "<yellow>Lightning Strike</yellow>"
    description: "<gray>Strikes a bolt of lightning upon killing an enemy.</gray>"
    icon: "LIGHTNING_ROD"
    price: 100
    type: "LIGHTNING"

death_cries:
  ghast:
    name: "<white>Ghast Scream</white>"
    description: "<gray>A terrifying ghast scream plays when you defeat an enemy.</gray>"
    icon: "GHAST_TEAR"
    price: 80
    sound: "ENTITY_GHAST_SCREAM"
    volume: 1.0
    pitch: 1.0

arrow_trails:
  flame:
    name: "<gold>Flame Trail</gold>"
    description: "<gray>Leaves a trail of hot fire behind arrows.</gray>"
    icon: "FLINT_AND_STEEL"
    price: 100
    particle: "FLAME"

kill_messages:
  demolished:
    name: "<yellow>Demolished</yellow>"
    description: "<gray>Broadcasts: {killer} demolished {victim}!</gray>"
    icon: "IRON_SWORD"
    price: 100
    format: "<gray><white>{killer}</white> demolished <white>{victim}</white>!</gray>"

messages.yml ​

AdvancedFFA supports modern Kyori Adventure MiniMessage tags for text styling, hex gradients, hover effects, actionbar broadcasts, and built-in sound events with volume and pitch controls:

Sound Events ​

Each message supports optional sound cues:

yaml
no-permission:
  text: "<red>You do not have permission to execute this command.</red>"
  sound: "ENTITY_VILLAGER_NO"
  volume: 1.0
  pitch: 0.8

join-success:
  text: "<green>Joined arena <white>{arena}</white> with kit <white>{kit}</white>!</green>"
  sound: "ENTITY_PLAYER_LEVELUP"
  volume: 0.8
  pitch: 1.5

arena-combat-log-kill:
  text: "<gray><white>{killer}</white> beat <white>{victim}</white> so hard that they left!</gray>"
  sound: "ENTITY_ITEM_BREAK"
  volume: 1.0
  pitch: 1.0

Actionbar Notifications ​

Messages like AFK protection expiry and kill regeneration are sent as non-intrusive actionbars to avoid spamming chat.


scoreboard.yml ​

AdvancedFFA includes a built-in scoreboard with live session top-killer rankings, custom player head avatar rendering, and full PlaceholderAPI evaluation:

yaml
scoreboard-version: 2

scoreboard:
  enabled: true
  
  title: <yellow><bold>Top 5<red> 🗡Kills
  
  lines:
  - ''
  - '{top_1}'
  - '{top_2}'
  - '{top_3}'
  - '{top_4}'
  - '{top_5}'
  - ''
  - '<gray>Tokens: <gold>{tokens}</gold></gray>'
  - '<gray>Streak: <yellow>{streak}</yellow></gray>'
  - ''
  - <gradient:#00ff88:#00aaff>AdvancedFFA</gradient>
  
  top-killer-entry: '{avatar} <white>{player} <dark_gray>» <red><bold>🗡{kills}'
  top-killer-empty: <gray>#{rank} -</gray>

Available Scoreboard Placeholders ​

  • {arena}: Current arena ID or display name
  • {kit}: Current kit name
  • {player}: Viewer's player name
  • {tokens}: Viewer's token balance
  • {streak}: Viewer's current active killstreak
  • {highest_streak}: Viewer's all-time highest killstreak
  • {top_1} to {top_5}: Live session top 5 killers with custom rendered heads
  • PlaceholderAPI: Any installed %placeholder% is automatically parsed on scoreboard lines