Skip to content

migration‐guides

Mardssss edited this page Jun 20, 2026 · 1 revision

Migration Guide

Upgrading from 2.0.8 to 2.0.9

This version introduces a major configuration restructure for areas. The old nested regions system under each world has been replaced with a flat, more flexible areas list.

Summary of Changes

  • Old structure: world → regions → area
  • New structure: Top-level areas list (each area explicitly references its world)
  • Many new fields have been added with sensible defaults
  • Coordinates (point1 / point2) are now required
  • More control over regeneration behavior, triggers, priorities, and container handling

Old areas.yaml Example

my_world:
  enabled: true
  regions:
    area1:
      enabled: true
      regen-time: 10
      delay: 2
      blacklisted-blocks: {} 
      whitelisted-blocks: 
        - STONE

New areas.yaml Example

areas:
  area1:
    world: my_world
    priority: 1
    enabled: true
    attributes:
      area-name: area1
      delay: 2
      regen-time: 10
      regen-pattern: NORMAL
      triggers:
        - EXPLOSION
      blacklist-materials: []
      whitelist-materials:
        - STONE
    containers:
      mode: EMPTY
    point1:
      x: -65.0
      y: 74.0
      z: 11.0
    point2:
      x: -60.0
      y: 80.0
      z: 16.0

Migration Steps

  1. Backup your current areas.yaml before upgrading.

  2. Create the new structure for each area:

    • Move every region into the top-level areas list.
    • Add the world field (previously implied by the parent key).
    • Add point1 and point2 (these define the cuboid area — required).
  3. Update field names where changed:

    Old Key New Location / Key Notes
    blacklisted-blocks attributes.blacklist-materials Now under attributes
    whitelisted-blocks attributes.whitelist-materials Now under attributes
  4. Add the new recommended fields (with defaults):

    areas:
      your-area-id:
        world: "world_name"           # Required
        priority: 1                   # Higher = processed first
        enabled: true
        attributes:
          area-name: "your-area-id"   # Display name
          delay: 2
          regen-time: 10
          regen-pattern: NORMAL       # NORMAL, SCHEMATIC, etc.
          triggers:
            - EXPLOSION               # Add more as needed: PLAYER_BREAK, TNT, etc.
          blacklist-materials: []
          whitelist-materials: []
        containers:
          mode: EMPTY                 # EMPTY, CLEAR, KEEP, etc.
        point1:                       # Required - one corner
          x: 0.0
          y: 64.0
          z: 0.0
        point2:                       # Required - opposite corner
          x: 10.0
          y: 80.0
          z: 10.0

Important Notes

  • Area ID: The key under areas: (e.g. area1) should be unique and is now used as the internal identifier.
  • Coordinates: You must define both point1 and point2. Use the lowest and highest coordinates of your region.
  • Triggers: The new system supports multiple regeneration triggers. Add the ones relevant to your area.
  • Containers: New containers.mode controls how chests, furnaces, etc. are handled on regen.
  • Priority: Useful if you have overlapping areas — higher priority areas take precedence.
  • regen-pattern: NORMAL is the default (block-by-block). Other patterns (like schematic-based) may be available.

Clone this wiki locally