Skip to main content

🎯 Multi-objective Events

Multi-objective events let one event use more than one objective at the same time.

For example, one event can give points for:

mining blocks
killing mobs
fishing items
collecting items
custom addon objectives

All objectives contribute to the same event score and leaderboard.

tip

Multi-objective events are useful for larger server-wide competitions where players can score in different ways.


Old format still works

Older single-objective events still work.

objective:
type: MINE_BLOCKS

You do not need to update every old event immediately.


New format

For multi-objective events, use:

objectives:
mining:
type: MINE_BLOCKS
display-name: "&bMining"
display-items:
- "&7Mine ores for points"
weight: 1.0

mobs:
type: KILL_MOBS
display-name: "&cMob Hunting"
display-items:
- "&7Kill mobs for bonus points"
weight: 1.5

Each objective has its own ID.

In this example:

mining
mobs

are objective IDs.


Objective IDs

Objective IDs are normalised by EventForge.

This means:

mob-hunting
mob_hunting

are treated consistently.

info

Use lowercase IDs with underscores for cleaner configs.

Good:

objectives:
mining:
mob_hunting:
fishing:

Objective type

Each objective needs a type.

Example:

objectives:
mining:
type: MINE_BLOCKS

Built-in objective types include:

MINE_BLOCKS
KILL_MOBS
FISH_ITEMS
COLLECT_ITEMS
MOB_INVASION

Custom addons can also register their own objective types.

Example:

objectives:
relic_discovery:
type: RELIC_HUNT

Objective display name

display-name controls how the objective appears in player-facing text.

objectives:
mining:
type: MINE_BLOCKS
display-name: "&bMining"

If missing, EventForge uses a safe fallback.


Objective display items

display-items can be used by menus, sidebars, details screens, or addon displays.

objectives:
mining:
type: MINE_BLOCKS
display-items:
- "&7Mine ores for points"
- "&7Higher value ores give more score"

Objective weight

weight acts like a score multiplier for that objective.

Example:

objectives:
mobs:
type: KILL_MOBS
weight: 1.5

If a mob normally gives 10 points, a 1.5 multiplier makes it worth 15 points.

info

Player-facing text should describe this as a multiplier, such as Multiplier: x1.5.


Weight rules

weight defaults to 1.0
weight cannot be negative
weight multiplies points from that objective

Examples:

WeightPlayer-facing wordingMeaning
1.0x1Normal score
1.5x1.550% more score
2.0x2Double score
0.5x0.5Half score

Primary objective

The first objective is treated as the primary/display objective for older menus and older integrations.

Example:

objectives:
mining:
type: MINE_BLOCKS
weight: 1.0

mobs:
type: KILL_MOBS
weight: 1.5

Here, mining is the first objective.


Full example

id: survival_rush
enabled: true
display-name: "&aSurvival Rush"
duration: 10m

metadata:
category: "Survival"
tags:
- survival
- mining
- mobs
- fishing
difficulty: "Medium"

objectives:
mining:
type: MINE_BLOCKS
display-name: "&bMining"
display-items:
- "&7Mine ores for points"
weight: 1.0

blocks:
COAL_ORE:
points: 1
display-name: "&8Coal Ore"
IRON_ORE:
points: 2
display-name: "&fIron Ore"
DIAMOND_ORE:
points: 10
display-name: "&bDiamond Ore"

mobs:
type: KILL_MOBS
display-name: "&cMob Hunting"
display-items:
- "&7Kill mobs for extra points"
- "&7This objective has a higher multiplier"
weight: 1.5

mobs:
ZOMBIE:
points: 2
display-name: "&aZombie"
SKELETON:
points: 3
display-name: "&fSkeleton"

fishing:
type: FISH_ITEMS
display-name: "&9Fishing"
display-items:
- "&7Catch fish and treasure"
weight: 1.0

catches:
COD:
points: 1
display-name: "&bCod"
SALMON:
points: 2
display-name: "&cSalmon"

rewards:
participation:
enabled: true
minimum-score: 1
commands:
- "give {player} emerald 2"

leaderboard:
1:
commands:
- "give {player} diamond 3"
2:
commands:
- "give {player} diamond 2"
3:
commands:
- "give {player} diamond 1"

Single objective converted to new format

Old:

objective:
type: MINE_BLOCKS
display-name: "&bMining"

blocks:
STONE:
points: 1

New:

objectives:
mining:
type: MINE_BLOCKS
display-name: "&bMining"
weight: 1.0

blocks:
STONE:
points: 1

Both styles work, but the new format is better if you want multiple ways to score.


Troubleshooting

Event only uses one objective

Check that you used:

objectives:

not:

objective:

The old objective: section only defines one objective.

Objective type is unknown

Check the objective type:

type: MINE_BLOCKS

If it comes from an addon, make sure the addon is installed and loaded.

Scores seem higher than expected

Check the objective weight.

Example:

weight: 2.0

This means scores from that objective are doubled.

Scores are not increasing

Check:

The event is active
The objective type is correct
The block/mob/item is configured correctly
The player is in the correct world
The score value is greater than 0