Goals
Last updated Oct 9, 2026
Goals
Goals track progress inside a Step (or a simple event).
Players see progress on boss bars / messages when you attach feedback Dos.
Goal scopes
| Scope | Meaning |
|---|---|
event |
Shared progress for the whole running event |
player |
Each participant has their own progress (survival challenges) |
Default for server-wide hunts: event.
Default for “mine 16 iron yourself”: player.
Built-in Goal catalog
| ID | Display name | Settings | Completes when |
|---|---|---|---|
kill |
Kill | mob / entity filter, amount | count reached |
collect |
Collect | item, amount | items gathered (define pickup vs inventory check in settings) |
reach |
Reach | location, radius | player enters radius |
score |
Score | target number | variable / score >= target |
survive |
Survive | duration | timer ends while still active / not eliminated |
break_blocks |
Break blocks | block filter, amount | break count reached |
place_blocks |
Place blocks | block filter, amount | place count reached |
chat |
Chat keyword | contains, amount | chat matches keyword |
chat_match |
Chat match | equals or variable, ignore_case | exact guess (word/number games) |
hangman |
Hangman solved | (uses active hangman Do) |
word done; out of guesses can use goal_fail Next |
deliver |
Deliver item | item, amount, optional location | has item (and optionally near location) |
travel_distance |
Travel distance | amount (blocks), scope | move distance; ignores teleports |
deal_damage / take_damage |
Damage totals | amount, optional hits: true |
from player_damage / player_hurt |
occupy_time |
Occupy region | region, amount (seconds) | needs WorldGuard + watched region |
craft_count |
Craft count | item, amount | craft_item progress |
fish_count |
Fish count | amount | fish_catch |
sneak_count |
Sneak count | amount | toggle_sneak |
hold_item_duration |
Hold item | item / tag, amount (seconds) | polled once per second |
kill_players |
Kill players | amount, scope | PvP kills (player victims only) |
death_count |
Death count | amount, scope | participant deaths |
consume_count |
Consume count | optional item, amount | eat / drink |
jump_count |
Jump count | amount | player jumps |
gain_levels |
Gain levels | amount | level-ups (counts multi-level jumps) |
all_reach |
All reach | location, radius, optional amount min |
every online participant in radius (or at least amount) |
Progress display: put {goal.progress} / {goal.amount} / {goal.remaining} / {goal.percent} in a boss_bar text (refreshes on each goal tick). Also %soaps_event_goal% via PlaceholderAPI. Starter/player events only count participants toward goals.
Binding to Steps
Typical invasion step:
Step: Invasion
Lasts: 10m
Do: spawn zombies, boss bar
Goal: kill 100 zombies (scope: event)
Next:
- goal done → rewards
- after time → fail
Personal challenge:
Step: Challenge
Lasts: 5m
Goal: collect iron_ingot 16 (scope: player)
Next:
- goal done → reward_player
- after time → end
GUI fields
In the step editor, pick a Goal type from the catalog, then set its primary fields in chat (mob and amount, item and amount, location via here, and so on). Common params:
| Field | Purpose |
|---|---|
| Type | kill / collect / reach / … |
| Amount / target | Number or duration |
| Scope | event (shared) or player (per participant) |
| Filters | mob, block, item, region, as the goal type allows |
Placeholders (goal)
See Placeholders. Common ones:
{goal.progress}{goal.remaining}{goal.amount}{goal.percent}
Addon goals
Plugins may register goals (kill MythicMob, complete Floor floor, win Arena match…).
Same picker UI; unavailable if the plugin is missing.
Tips
- Pair timed Steps with a Goal and two Next rules (success vs timeout)
- Use player scope for EventStorm-style “everyone gets their own challenge”
- Keep amounts expression-safe (
players * 5only where the schema allows)