⚔️ Mob Invasion
MOB_INVASION creates wave-based combat events.
Players earn points by fighting mobs that spawn during the invasion.
It works well for:
server invasion events
arena waves
spawn defence events
boss minigames
survival challenges
Basic example
objective:
type: MOB_INVASION
world: world
x: 0
y: 70
z: 0
radius: 25
waves:
1:
mobs:
ZOMBIE:
amount: 5
points: 1
2:
mobs:
SKELETON:
amount: 4
points: 2
Location settings
| Setting | Description |
|---|---|
world | World where the invasion happens |
x, y, z | Main invasion location |
radius | Area used for spawning and nearby checks |
Example:
objective:
type: MOB_INVASION
world: world
x: 100
y: 70
z: 100
radius: 30
Waves
Waves are configured under waves:.
objective:
type: MOB_INVASION
waves:
1:
mobs:
ZOMBIE:
amount: 5
points: 1
2:
mobs:
SKELETON:
amount: 4
points: 2
Each wave can contain one or more mob types.
Mob settings
| Setting | Description |
|---|---|
amount | How many mobs to spawn |
points | Points awarded for killing that mob |
Example:
waves:
1:
mobs:
ZOMBIE:
amount: 8
points: 1
HUSK:
amount: 3
points: 2
Start requirements
v1.0.2 adds nearby-player start checks.
start-requirements:
require-player-nearby: true
radius: 50
If enabled, the event will only start if at least one player is near the invasion location.
This is useful for scheduled invasions because it stops events from starting in empty areas.
Empty-area behaviour
v1.0.2 adds empty-area wave pausing.
empty-area:
pause-waves: true
radius: 50
When enabled, EventForge pauses wave progress if nobody is nearby.
This prevents waves from spam-completing when players are not near the invasion area.
Join location
Mob Invasion events can provide a join location.
join:
enabled: true
world: world
x: 0
y: 70
z: 0
yaw: 0
pitch: 0
Players can use:
/events join mob_invasion
The event must be active and join support must be enabled.
Bossbar example
bossbar:
enabled: true
text: "&c{event_display} &8| &f{time_left} &8| &eScore: {score}"
color: RED
style: SEGMENTED_10
Animated bossbar example
bossbar:
enabled: true
text: "&c{event_display} &8| &f{time_left}"
color: RED
style: SEGMENTED_10
animated-text:
enabled: true
interval: 20
frames:
- "<fire>{event_display}</fire> &8| &f{time_left}"
- "&eScore: &f{score} &8| &7Rank: &e#{rank}"
- "<pulse:#ff5555:#ffffff>Defend the area!</pulse>"
Milestone example
milestones:
enabled: true
thresholds:
10:
display-name: "&e10 Invasion Points"
once-per-player: true
actions:
- type: MESSAGE
message: "&aYou reached &f{milestone_display}&a!"
- type: SOUND
sound: ENTITY_PLAYER_LEVELUP
Testing
After adding or editing the event file:
/eventforge reload
/eventforge validate mob_invasion
/eventforge start mob_invasion
/events join mob_invasion
If the event does not start, check:
/eventforge check mob_invasion
/eventforge errors mob_invasion
Troubleshooting
Event will not start
Check:
start-requirements:
require-player-nearby: true
If this is enabled, make sure a player is near the invasion location.
You can also check:
/eventforge check mob_invasion
Waves pause
If waves pause, check:
empty-area:
pause-waves: true
This means EventForge is waiting for players to be near the invasion area again.
Players cannot join
Check that the event has:
join:
enabled: true
and make sure the event is currently active.
Summary
MOB_INVASION is used for wave-based combat events.
v1.0.2 improves it with:
nearby-player start requirements
empty-area wave pausing
/events join support
Use it for invasion arenas, survival events, and server-wide combat challenges.