Rewards

Every payout in IgniteSky speaks the same language. Missions, milestones, prestige tiers, OneBlock phases and season placements all read one reward object, so whatever you can configure for a mission you can configure for a season win, with identical syntax and identical behaviour. There is no per-feature reward format to relearn.

The shorthand

Most of the time a reward is just a number. Write it inline and IgniteSky pays it into the island bank:

reward: 5000

That keeps simple configs simple. Reach for the object form only when you want more than cash.

The full object

reward:
  money: 10000                     # personal money to the player (Vault); falls back to the bank if offline / no economy
  bank: 5000                       # deposited into the island bank
  commands:                        # run from console on payout
    - "give {player} diamond 8"
    - "broadcast {owner} finished a mission!"
  items:                           # given to the player (overflow drops at their feet)
    - { material: DIAMOND, amount: 8, name: "<aqua>Bonus", lore: ["<gray>Well earned."] }
  effects:                         # played to the player on payout (skipped if offline)
    sound: ENTITY_PLAYER_LEVELUP
    volume: 1.0
    pitch: 1.2
    title: "<gold>Reward!"
    subtitle: "<gray>Nicely done"
    actionbar: "<green>+8 diamonds"
    particle: TOTEM_OF_UNDYING
    particle-count: 30

Every field is optional; include only what you want. A reward can be money-only, items-only, an effect-only celebration, or any mix.

Fields

FieldMeaning
moneyPersonal money paid to the player through Vault. With no player (offline / island-only payout) or no economy, it falls back to the island bank.
bankDeposited straight into the island bank.
commandsConsole commands run on payout. Placeholders below.
itemsStacks given to the player. Each is material, amount, optional MiniMessage name and lore. Overflow drops at the player's feet.
effectsA sound, title/subtitle, action bar and particle burst played to the player. Needs a player, so it is skipped for offline payouts.

Placeholders in commands

{player}, {owner}, {island} are always available. Each site adds its own: {mission}, {level} (milestones), {tier} and {badge} (prestige), {phase} (OneBlock), {rank} (seasons).

Nothing is fatal

An unknown item material, sound or particle key is skipped, not thrown. The rest of the reward still pays out.

Where it applies

SiteFileBare number meansNotes
Missionsprogression/missions.ymlpaid to the claimerfull player context
Milestonesprogression/milestones.ymlisland banktargets the owner if online
Prestigefeatures/prestige.ymlisland bankfull player context (the ascending player)
OneBlock phasesmodes/oneblock.ymlisland bankno player context: money to bank, items skipped
Seasonsconfig.yml (seasons.rewards)island banktargets the owner if online

Because the object is shared, anything new added to it lands in every one of these at once.