Default rewards.yml

Last updated Oct 28, 2026

Default rewards.yml

Shipped defaults from SoapsFloor 1.2.4. After first run, this file lives under plugins/SoapsFloor/.

Updating the jar does not overwrite your live copy. Use this page to compare or reset.

See also: Config Reference · Rewards

# SoapsFloor reward tables
#
# Assign a table to a room with /sf setreward <room> <table>, or clear it with none.
# Inspect with /sf rewards list|info <table>. Dry-run with /sf rewards test <table>.
# You can also pick the table in Room Settings (wand).
#
# append-to-global-rewards (below): when true, table payouts run with victory.reward-commands
# in config.yml. When false, rooms that use a table get the table only.
# Set append-to-global on a table to override this file default.
#
# Table options:
#   rolls           How many weighted picks each fighter gets (default 1)
#   unique-rolls    No duplicate weighted entry on the same clear
#   append-to-global  Optional true/false (omit = file default above)
#
# Entries are a map keyed by name. Options per entry:
#   display         Optional label for summaries and /sf rewards test (else the name)
#   weight          Share of the pie among eligible weighted entries
#   chance          Optional 0-1 or 0-100%. Must pass before weight. Default always eligible
#   amount          Fixed number, or min/max. Fills {amount} in message and commands
#   repeat          How many times to apply this entry when it wins (default 1, cap 32).
#                   Fixed number or min/max. Each time can roll a new {amount}.
#   always          Grant once before weighted picks (still uses gates below)
#   first-clear-only  Only if this player has never cleared this room before
#   permission      Required permission
#   min-players / max-players  Active party size
#   min-floors / min-kills     Performance gates
#   message / commands         Player text and console lines
#
# Placeholders: {player} {room} {time} {kills} {total_kills} {floors} {players}
#               {amount} {repeat} {repeat_index}
# Command prefixes: message: party: broadcast: title: actionbar: sound:<key> [vol] [pitch]
#
# Weakness and party scaling change table rolls only, not amount or entry repeat.
# Order: gates, then always entries, then each roll (gates, chance, weight, then entry repeat).

append-to-global-rewards: true

tables:

  # Light / tutorial rooms
  casual:
    rolls: 1
    append-to-global: false
    entries:
      snack:
        display: "<#86efac>Snack pack"
        weight: 55
        repeat: 2
        message: "<#86efac>Room clear. You receive steak."
        commands:
          - "give {player} cooked_beef 8"
          - "actionbar:<#86efac>+8 steak"
          - "sound:entity.player.burp 0.5 1"
      pocket_xp:
        display: "<#a3e635>Pocket XP"
        weight: 35
        amount:
          min: 25
          max: 50
        message: "<#a3e635>You gain <#fbbf24>{amount}</#fbbf24> experience."
        commands:
          - "xp give {player} {amount}"
          - "sound:entity.experience_orb.pickup 0.8 1.2"
      lucky_apple:
        display: "<#fbbf24>Lucky apple"
        weight: 10
        chance: 0.4
        message: "<#fbbf24>You find a golden apple."
        commands:
          - "give {player} golden_apple 1"
          - "title:<#fbbf24>Golden apple"
          - "sound:entity.player.levelup 0.7 1.4"

  # Default dungeon clear
  standard:
    rolls: 1
    entries:
      clear_xp:
        display: "<#93c5fd>Clear XP"
        always: true
        amount:
          min: 40
          max: 80
        message: "<#93c5fd>Clear bonus: <#fbbf24>{amount}</#fbbf24> experience."
        commands:
          - "xp give {player} {amount}"
          - "actionbar:<#93c5fd>+{amount} XP"
          - "sound:entity.experience_orb.pickup 1 1"
      first_clear:
        display: "<#38bdf8>First clear"
        always: true
        first-clear-only: true
        amount: 100
        message: "<#38bdf8>First clear of <#fbbf24>{room}</#fbbf24>."
        commands:
          - "xp give {player} {amount}"
          - "give {player} experience_bottle 4"
          - "party:<#38bdf8>{player}</#38bdf8> <#9ca3af>earned the first-clear bonus."
          - "sound:ui.toast.challenge_complete 1 1"
      coins:
        display: "<#fbbf24>Coins"
        weight: 45
        amount:
          min: 50
          max: 120
        message: "<#fbbf24>You receive {amount} coins."
        commands:
          - "eco give {player} {amount}"
          - "sound:block.amethyst_block.chime 0.9 1.1"
      supplies:
        display: "<#86efac>Supplies"
        weight: 35
        repeat:
          min: 1
          max: 2
        message: "<#86efac>You receive food and arrows."
        commands:
          - "give {player} cooked_beef 16"
          - "give {player} arrow 32"
          - "actionbar:<#86efac>Supplies received"
      rare_gem:
        display: "<#f472b6>Rare gem"
        weight: 20
        chance: 0.35
        message: "<#f472b6>You find a diamond."
        commands:
          - "give {player} diamond 1"
          - "title:<#f472b6>Rare gem"
          - "sound:entity.player.levelup 1 0.8"

  # Tough rooms (unique rolls and performance gates)
  hardcore:
    rolls: 2
    unique-rolls: true
    entries:
      hard_bonus:
        display: "<#f97316>Hard clear"
        always: true
        amount:
          min: 120
          max: 200
        message: "<#f97316>Hard clear. You gain <#fbbf24>{amount}</#fbbf24> experience."
        commands:
          - "xp give {player} {amount}"
          - "eco give {player} 150"
          - "title:<#f97316>Hard clear"
          - "sound:entity.ender_dragon.growl 0.35 1.6"
      first_hard:
        display: "<#fb923c>First hard clear"
        always: true
        first-clear-only: true
        message: "<#fb923c>First clear of this hard room."
        commands:
          - "give {player} enchanted_golden_apple 1"
          - "crates give physical {player} Rare 1"
          - "party:<#fb923c>{player}</#fb923c> <#9ca3af>earned the first hard-clear reward."
          - "broadcast:<#f97316>{player}</#f97316> <#9ca3af>first-cleared hard room <#fbbf24>{room}</#fbbf24>."
          - "sound:ui.toast.challenge_complete 1 1"
      hunter:
        display: "<#ef4444>Hunter purse"
        weight: 40
        min-kills: 8
        amount:
          min: 80
          max: 160
        message: "<#ef4444>Hunter bonus for {kills} kills: <#fbbf24>{amount}</#fbbf24> coins."
        commands:
          - "eco give {player} {amount}"
          - "actionbar:<#ef4444>Hunter +{amount}"
      deep_run:
        display: "<#a78bfa>Deep run"
        weight: 30
        min-floors: 4
        message: "<#a78bfa>Deep run bonus for {floors} floors."
        commands:
          - "xp give {player} 5 levels"
          - "give {player} diamond 2"
      crate_key:
        display: "<#38bdf8>Crate key"
        weight: 20
        message: "<#38bdf8>You receive a crate key."
        commands:
          - "crates give physical {player} Vote 1"
          - "sound:block.chest.open 0.9 1"
      jackpot:
        display: "<#fbbf24>Jackpot"
        weight: 10
        chance: 0.2
        amount: 500
        message: "<#fbbf24>Jackpot: <#ef4444>{amount}</#ef4444> coins."
        commands:
          - "eco give {player} {amount}"
          - "title:<#fbbf24>Jackpot"
          - "party:<#fbbf24>{player}</#fbbf24> <#9ca3af>hit the jackpot in <#fbbf24>{room}</#fbbf24>."
          - "sound:entity.player.levelup 1 0.6"

Still stuck? Ask about this page