Rewards

Last updated Sep 18, 2026

Rewards

Rewards are granted when a player claims a completed quest paper (right-click). Define them under the reward: key on each quest in quests.yml.

Optional fail-reward: uses the same keys and grant path as reward:. It is paid on timed-quest consolation (immediately) or overtime claim (if they finished after the deadline). Missing fail-reward never falls back to reward:.


Reward types

Key Requires Description
xp Nothing Minecraft experience points
money Vault + economy Currency via Vault
sigils Nothing SoapsQuest Sigils (stored in sigils.yml)
items Nothing List of item stacks with optional enchantments
commands Nothing Console commands run on claim
quest Target quest exists Gives another quest paper
denizen Denizen installed Runs a Denizen script on claim (1.1.0)

You can combine multiple types in one reward block.


XP

reward:
  xp: 250

Money

reward:
  money: 100.50

Requires Vault and a registered economy provider. If Vault is missing, money is skipped and a warning may appear in console.


Sigils

reward:
  sigils: 50

Sigils work on Free and Premium. Balances persist in plugins/SoapsQuest/sigils.yml.

Optional chance (default 100):

reward:
  sigils: 25
  sigils-chance: 75

Items

reward:
  items:
    - material: DIAMOND_SWORD
      amount: 1
      name: "<#55FF55>Quest Blade"
      lore:
        - "<#AAAAAA>Awarded for bravery"
      enchantments:
        - "SHARPNESS:3"
        - "UNBREAKING:2"
      chance: 100
    - material: BREAD
      amount: 8
      chance: 100
Item field Description
material Bukkit material name (required)
amount Stack size (default 1)
name Display name (MiniMessage or & codes)
lore Lore lines
enchantments List of ENCHANT:level strings
chance Drop chance 0-100 (default 100)
flags Item flags such as HIDE_ENCHANTS
unbreakable true / false

The plugin also supports MMOItems custom items when MMOItems is installed (same item format as other Soaps plugins).


Commands

reward:
  commands:
    - "give {player} emerald 5"
    - "broadcast &a{player} completed a quest!"

Player placeholders: {player}, <player>, %player%.

Optional execution chance:

reward:
  commands:
    - "say Quest complete!"
  command-chance: 50

Denizen script (1.1.0)

Requires Denizen and integrations.denizen: true.

reward:
  xp: 100
  denizen: quest_complete_fanfare

The script name is passed to Denizen on claim. See Integrations.


Quest chain reward

Give another quest paper when the player claims:

reward:
  xp: 100
  quest:
    quest-id: chapter_two
    chance: 100

The chained paper is created and given on claim. The target quest must exist in quests.yml or generated.yml.


Command-line reward editing

Staff can add rewards without editing YAML:

/sq addreward <questid> xp <amount>
/sq addreward <questid> money <amount>
/sq addreward <questid> sigils <amount>    # Premium only
/sq addreward <questid> command <cmd>
/sq addreward <questid> item               # Uses held item
/sq listreward <questid>
/sq removereward <questid> <index>

Permissions: soapsquest.addreward, soapsquest.listreward, soapsquest.removereward.

After command edits, run /sq reload to refresh existing papers.


Timed quests

Optional timer: on a quest starts one wall-clock deadline (not two clocks). start-on: receive arms when the paper instance is registered; start-on: activate waits for a right-click of the active held paper (queued copies do not start the clock). on-expire: fail voids with no payout; consolation grants fail-reward: then voids; overtime keeps the quest playable and uses fail-reward: on claim if they finished late. Completing before the deadline still pays full reward: even if they claim after. Dropping or storing the paper does not pause the timer.

Timer display (global)

Configure in config.yml under quest-timer-display: (see Default Configs):

Option Effect
paper-name Append remaining time to the quest paper item name
action-bar Live countdown in the action bar (default: on)
boss-bar Boss bar for the most urgent active timed quest
chat-reminder-seconds Periodic chat countdown (0 = off). The one-minute warning message is always sent separately.

Paper lore always shows the timer line when a deadline is armed. The HUD tracks only timed quests that are active in your queue (not queued copies waiting for activate-start).

Configure timer and fail rewards in the Premium quest editor (clock and fail-reward buttons flanking Edit Rewards).


Completion messages

messages.yml supports <quest_rewards> in completion text to list granted rewards on multiple lines.


Random generator rewards (Premium)

Generated quests pull rewards from random-generator.yml pools (reward-pool, tier ranges, item pools, and templates). The YAML format matches quests.yml reward blocks so you can copy templates between files.

When a generated quest rolls a timer, fail-reward-scale clones that same reward: block into fail-reward: with scaled amounts (XP, money, sigils, item counts). Commands, quest papers, and chances are copied as-is.


Version 1.0.5