Skip to main content

Notifications and Cooldowns

Notifications live in config.yml. Goal-specific overrides can be placed directly inside a goal.

Use notifications carefully. Progress events can fire a lot, especially for block breaking or combat goals.

Events and channels

Events:

  • progress
  • tier-unlocked
  • goal-completed
  • claim

Channels:

  • chat
  • actionbar
  • title
  • bossbar

Bossbar delivery is compatibility-safe and falls back on older servers.

Global example

notifications:
enabled: true
channels:
chat: true
actionbar: false
title: false
bossbar: false
events:
progress:
enabled: true
audience: player
every-progress: 1
message: "<gray>%goal_name%: <aqua>%progress_before%</aqua> -> <green>%progress_after%</green>/<white>%target%</white> <dark_gray>(+%amount%)"
channels:
chat: true
actionbar: true
title: false
bossbar: false

Per-goal override

goals:
community_daily_mining:
notifications:
progress:
every-progress: 50
channels:
actionbar: true
chat: false
tier-unlocked:
message: "<gradient:green:aqua>%goal_name%</gradient> reached tier <gold>%tier%%</gold>!"
channels:
chat: true
title: true
bossbar: true

Anything missing falls back to the global notification config.

Progress spam control

every-progress controls how often progress messages are sent.

With this:

every-progress: 10

players get a progress message when the value crosses 10, 20, 30, and so on. Completion still gets announced.

Cooldowns

Cooldowns limit how often progress can be accepted from matching events.

goals:
player_lifetime_regular:
period: PERMANENT
type: LOGIN
cooldown:
enabled: true
scope: PLAYER
mode: DAILY
progress-per-acquire: 1
duration: 24h
FieldNotes
enabledEnables the cooldown.
scopePLAYER or SHARED. Shared only matters for community goals.
modeDURATION, DAILY, WEEKLY, or MONTHLY.
durationUsed by DURATION, for example 30m, 12h, or 7d.
progress-per-acquireMaximum progress accepted when the cooldown allows it.

Shared community cooldown

goals:
community_daily_mining:
scope: COMMUNITY
cooldown:
enabled: true
scope: SHARED
mode: DAILY
progress-per-acquire: 25

With scope: SHARED, the first valid contribution starts the cooldown for everyone. Player goals always behave as per-player cooldowns.