Missions

Missions give players a steady list of goals beyond raising their level. They come in daily, weekly and one-off flavours, track progress live, and pay out rewards on completion.

CommandWhat it does
/is missionsView your island's missions and progress

How resets work

Daily and weekly missions reset on a cadence you set. A mission's category (in progression/missions.yml) decides which clock it follows.

config.yml
missions:
  daily-reset-hours: 24
  weekly-reset-hours: 168

Live progress feedback

While a player makes progress on a tracked goal, a boss bar slides in to show it, then fades after a moment. You control its look and how long it lingers:

config.yml
bossbar:
  enabled: true
  duration-ticks: 60        # lingers 3 seconds after the last update
  color: BLUE               # PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE
  overlay: PROGRESS         # PROGRESS, NOTCHED_6/10/12/20

Defining missions

Missions are authored in progression/missions.yml. Each one sets a type (what to do), a target (how much), an optional material/entity filter, a category (which reset clock it follows), and the reward for finishing. Edit the file and reload with /is admin reload.

progression/missions.yml
missions:
  cobble-miner:
    display: "<yellow>Cobble Miner"
    description: "Break 1000 cobblestone."
    type: break_blocks
    material: COBBLESTONE   # optional filter; omit to count any block
    target: 1000
    reward: 5000
    category: normal        # normal | daily | weekly
    icon: DIAMOND_PICKAXE   # optional tile material (default BOOK)
    # permission: ignitesky.mission.vip   # optional - hidden unless the player has this node
    # required-level: 5                    # optional - locked until the island reaches this level

Per-mission gating

Three optional keys let you stage or restrict a mission:

KeyEffect
iconThe material shown for the mission tile (defaults to a book)
permissionPlayers without this node never see the mission at all
required-levelThe mission stays locked (a barrier tile) until the island reaches this level

Mission types

TypeCounts
place_blocks / break_blocksBlocks placed or broken (optional material filter)
mob_killsMobs killed (optional entity filter)
craft_itemsItems crafted (optional material filter)
farmingCrops harvested
fishingFish caught
smeltingItems smelted
enchantingItems enchanted
item_pickupItems picked up
reach_levelReaching an island level (target is the level)
bank_balanceHolding an amount in the island bank (target is the balance)

Eleven types in all, more than SuperiorSkyblock2's set, and all typed and declarative: no fragile scripting engine to maintain. Mix material/entity filters with the counting types to make precise goals (mine diamond ore, kill blazes), and use the state types (reach_level, bank_balance) as milestone-style one-offs.

Rewards

Every reward in IgniteSky is the same rich object, so a mission can pay far more than cash. reward: 5000 is shorthand for money; the full form adds an island-bank deposit, console commands and items (single or lists):

progression/missions.yml
    reward:
      money: 2500                # paid to the claiming player (Vault)
      bank: 1000                 # deposited into the island bank
      commands:                  # run as console; {player} {island} {owner} {mission}
        - "crate give {player} vote 1"
      items:
        - { material: DIAMOND, amount: 16 }
        - { material: NETHERITE_INGOT, amount: 1, name: "<gold>Pioneer Prize" }
      effects:                   # played to the claimer on payout
        sound: ENTITY_PLAYER_LEVELUP
        title: "<gold>Mission complete!"
        particle: TOTEM_OF_UNDYING
        particle-count: 30

The same reward object is used everywhere the plugin pays out, so milestones, prestige, OneBlock phases and seasons all take these exact options, including the on-payout effects (sound, title, action bar and particles). See the full reference on the Rewards page.

Mix the cadences

A healthy mission board usually has a few quick dailies for daily logins, a couple of meatier weeklies, and a handful of permanent one-offs that act as a tutorial through the plugin's features.