Skip to main content
Version: 6.0.x

Zones

Beta

Zones work and are enforced, but the category is much younger than the rest of the mod and has had far less use. Expect bugs, and expect things to change. Fields may be renamed or behave differently in a later version, and a zone that works today is not a promise about next release.

Fine for building with and worth reporting anything odd about. Think twice before a zone is the only thing holding back something a pack depends on.

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