Skip to main content

🏳️ 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

SettingDescription
display-nameName shown in messages/placeholders
worldWorld name
x1, y1, z1First corner
x2, y2, z2Second corner
pointsPoints awarded
everyHow often points are awarded
teamOptional 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

SettingDescription
render.enabledEnables particles for the zone
render.particleParticle type
render.colorHex colour for dust particles
render.intervalRender interval in ticks
render.spacingDistance between border particles
render.y-offsetVertical offset
render.countParticle count
info

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.