Skip to main content
Version: 6.1.x

Zones

A zone is an area the pack author draws themselves — a crater, a walled-off city, the far side of a river — rather than something Minecraft already has a name for. Unlike biome and structure locks, whose behaviour is set once for the whole server in the config, every zone carries its own rules: one can merely refuse interaction while the next one burns.

{
"zones": [
{
"name": "The Crater",
"dimension": "minecraft:overworld",
"shapes": [
{ "type": "cube", "from": [-120, 60, 340], "to": [-60, 90, 400], "full_height": true },
{ "type": "cylinder", "center": [-90, 63, 370], "radius": 24, "height": 32, "full_height": false },
{ "type": "sphere", "center": [-40, 70, 410], "radius": 16 }
],
"rules": {
"message": { "enabled": true, "text": "&cThe air here is still poison.", "in_chat": false },
"damage": { "enabled": true, "amount": 1.0, "interval": 20 },
"effects": {
"enabled": true,
"clear_on_leave": true,
"list": [ { "id": "minecraft:blindness", "seconds": 30, "amplifier": 0 } ]
},
"block_right_click": true,
"block_left_click": true,
"block_projectiles": true,
"block_explosions": true,
"barrier": false,
"block_spawns": false,
"inverted": false,
"show_border": false,
"show_overlay": false
}
}
]
}

Zones are normally drawn in the game rather than typed. Sneak + left click with the marker item sets the first corner and sneak + right click the second (see [zone_lock]); /history zone mark, clear and info do the same without an item, which is how you set a corner you cannot stand on.

The dimension is mandatory and is never inverted. Coordinates alone are ambiguous — 100/64/100 exists in the Overworld, the Nether and the End — so a zone meant for a Nether fortress would otherwise also fire in the middle of an Overworld village. An area spanning two worlds is two zones, on purpose: the editor then shows that there are two.

Shapes​

A zone is the union of its shapes, and a shape is one of three kinds:

typeFieldsMeaning
cubefrom, to, full_heightTwo opposite corners, in any order.
spherecenter, radius—
cylindercenter, radius, height, full_heightcenter is the middle of the floor; height is the extent upwards.

full_height makes a cube or cylinder span the whole build range of its dimension and ignores the height numbers. It is the common case in practice — a village is gated as a whole, not as a slice of one.

A zone with no shapes at all is legal. It is shown as incomplete and applies to nobody.

Rules​

KeyDefaultEffect
message.enabled / .text / .in_chaton / empty / offA message while the player is inside. {zone} and {stage} are replaced; & sets a colour. in_chat prints it in chat as well as above the hotbar.
damage.enabled / .amount / .intervaloff / 1.0 / 20Periodic damage. Never in creative mode.
effects.enabled / .clear_on_leave / .listoff / off / emptyPotion effects, as { "id", "seconds", "amplifier" }. clear_on_leave removes them at once instead of letting them run out.
block_right_clicktrueBlocks, items and creatures — including placing against the border from outside.
block_left_clicktrueAttacking and breaking, including reaching through the wall from outside.
block_projectilestrueArrows, snowballs and the like vanish when they would land inside.
block_explosionstrueBlocks inside the zone are not destroyed by explosions.
barrierfalseThe player physically cannot get in — not with an elytra, an ender pearl or a horse. Creative mode is exempt.
block_spawnsfalseSuppresses natural spawning. Spawners, spawn eggs and commands are left alone. Global stages only.
invertedfalseTurns the zone around: the rules apply everywhere except here — but still only in this world.
show_borderfalseDraws the zone's wall once the player is close enough.
show_overlayfalseTints the screen red while the player is inside.

The two visibility switches decide whether a zone is seen; [zone_overlay] in visual.toml decides how far the wall carries and how strong the tint is. A zone meant to stay secret leaves both off — the client is not told about a zone it is not allowed to see.

Standing in two zones at once​

Overlap is normal rather than exceptional; packs get built by dropping boxes onto a map until the area looks right. The rules are merged into one answer, and the merge is deliberate:

  • Switches are an OR. One zone asking for interaction to be blocked is enough. A zone that does not ask cannot un-ask on another's behalf.
  • Damage takes the highest amount, never the sum — nudging two zones into overlap while building must not quietly become lethal. The interval travels with the amount that won.
  • One message wins, the first of the zones found. Three messages fighting over the action bar reads as a bug.
  • Effects are merged by effect ID: the stronger amplifier wins, and at equal strength the longer duration.
Something wrong or missing here? Ask on Discord · Open an issue