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