π³οΈ Capture Zone
CAPTURE_ZONE is a King of the Hill style objective.
Players earn points while standing inside configured zones.
It works well for:
capture points
king of the hill events
team zones
PvP control areas
spawn control events
Basic example
objective:
type: CAPTURE_ZONE
zones:
blue_zone:
display-name: "&bBlue Zone"
world: world
x1: 100
y1: 64
z1: 100
x2: 110
y2: 70
z2: 110
points: 1
every: 5s
team: blue
A player standing inside this zone earns 1 point every 5 seconds.
Multi-zone example
objective:
type: CAPTURE_ZONE
zones:
blue_zone:
display-name: "&bBlue Zone"
world: world
x1: 100
y1: 64
z1: 100
x2: 110
y2: 70
z2: 110
points: 1
every: 5s
team: blue
yellow_zone:
display-name: "&eYellow Zone"
world: world
x1: 120
y1: 64
z1: 100
x2: 130
y2: 70
z2: 110
points: 1
every: 5s
team: yellow
Zone settings
| Setting | Description |
|---|---|
display-name | Name shown in messages/placeholders |
world | World name |
x1, y1, z1 | First corner |
x2, y2, z2 | Second corner |
points | Points awarded |
every | How often points are awarded |
team | Optional team label |
Contested zones
Capture zones can be configured to stop scoring when multiple players are inside the same zone.
objective:
type: CAPTURE_ZONE
contested:
enabled: true
When contested mode is enabled, EventForge can detect when a zone has multiple players inside it and prevent normal capture scoring.
Zone rendering
Zones can display particles so players can see where they need to stand.
objective:
type: CAPTURE_ZONE
zones:
blue_zone:
display-name: "&bBlue Zone"
world: world
x1: 100
y1: 64
z1: 100
x2: 110
y2: 70
z2: 110
points: 1
every: 5s
team: blue
render:
enabled: true
particle: DUST
color: "#22d3ed"
interval: 20
spacing: 1.0
y-offset: 0.1
count: 1
Rendering is useful for capture point events because players can clearly see the zone border.
Render settings
| Setting | Description |
|---|---|
render.enabled | Enables particles for the zone |
render.particle | Particle type |
render.color | Hex colour for dust particles |
render.interval | Render interval in ticks |
render.spacing | Distance between border particles |
render.y-offset | Vertical offset |
render.count | Particle count |
20 ticks is about 1 second.
Capture actions
Zones can run actions when players score from a capture zone.
objective:
type: CAPTURE_ZONE
zones:
blue_zone:
display-name: "&bBlue Zone"
world: world
x1: 100
y1: 64
z1: 100
x2: 110
y2: 70
z2: 110
points: 1
every: 5s
actions:
- type: ACTIONBAR
message: "&b+{score_change} &7points from &f{zone_display}"
Placeholders
Capture zone actions can use normal EventForge placeholders and zone placeholders.
{zone}
{zone_display}
{zone_team}
{score_change}
{new_score}
{score}
{player}
{event_display}
Example:
message: "&aYou captured &f{zone_display}&a! &7(+{score_change})"
Bossbar example
bossbar:
enabled: true
text: "&b{event_display} &8| &f{time_left} &8| &eScore: {score}"
color: BLUE
style: SOLID
Milestone example
milestones:
enabled: true
thresholds:
25:
display-name: "&e25 Capture Points"
once-per-player: true
actions:
- type: MESSAGE
message: "&aYou reached &f{milestone_display}&a!"
- type: SOUND
sound: ENTITY_PLAYER_LEVELUP
Testing
After adding the event file:
/eventforge reload
/eventforge validate capture_zone
/eventforge start capture_zone
Stand inside a configured zone and wait for the scoring interval.
If scoring does not work, check:
/eventforge errors capture_zone
Summary
CAPTURE_ZONE is used for zone-control events.
Use it when players should score by holding an area for a period of time.