Skip to main content
Represents a dimension in Iris. Dimensions contain regions, which contain biomes, which contain objects and generators. This is the root configuration object for an Iris world.

Core Properties

name
string
required
The human readable name of this dimensionConstraints: Minimum length 2
regions
array<string>
required
Define all of the regions to include in this dimension. Dimensions → Regions → Biomes → Objects etcConstraints: Minimum 1 item
version
integer
default:"1"
The version of this dimension. Changing this will stop users from accidentally upgrading (and breaking their worlds).Constraints: Minimum 0

Height & Dimensions

dimensionHeight
IrisRange
default:"{min: -64, max: 320}"
Define the min and max Y bounds of this dimension. Iris internally generates from 0 to (max - min). For example at -64 to 320, Iris is internally generating to 0 to 384, then on outputting chunks, it shifts it down by the min height (64 blocks).The fluid height is placed at (fluid height + min height). So a fluid height of 63 would actually show up in the world at 1.
fluidHeight
integer
default:"63"
required
The fluid height for this dimensionConstraints: 0-1024
logicalHeight
integer
default:"256"
Maximum height at which players can be teleported to through gameplay.Constraints: 1-2032
caveLavaHeight
integer
default:"8"
The Subterrain Fluid Layer HeightConstraints: 0-318

Biome & Region Placement

regionStyle
IrisGeneratorStyle
default:"CELLULAR_IRIS_DOUBLE"
The placement style of regions
continentalStyle
IrisGeneratorStyle
default:"CELLULAR_IRIS_DOUBLE"
The placement style of land/sea
landBiomeStyle
IrisGeneratorStyle
default:"CELLULAR_IRIS_DOUBLE"
The placement style of land biomes
shoreBiomeStyle
IrisGeneratorStyle
default:"CELLULAR_IRIS_DOUBLE"
The placement style of shore biomes
seaBiomeStyle
IrisGeneratorStyle
default:"CELLULAR_IRIS_DOUBLE"
The placement style of sea biomes
caveBiomeStyle
IrisGeneratorStyle
default:"CELLULAR_IRIS_DOUBLE"
The placement style of cave biomes

Zoom & Scale

biomeZoom
number
default:"1"
Zoom in or out the biome size. Higher = bigger biomesConstraints: 0.0001-512
regionZoom
number
default:"1"
Change the size of regionsConstraints: 0.0001-512
landZoom
number
default:"1"
This zooms in the land spaceConstraints: 0.0001-512
seaZoom
number
default:"1"
This zooms oceanic biomesConstraints: 0.0001-512
continentZoom
number
default:"1"
Zoom in continentsConstraints: 0.0001-512
rockZoom
number
default:"5"
The rock zoom mostly for zooming in on a wispy paletteConstraints: 0.0001-512

Coordinate Manipulation

dimensionAngleDeg
number
default:"0"
You can rotate the input coordinates by an angle. This can make terrain appear more natural (less sharp corners and lines). This literally rotates the entire dimension by an angle. Hint: Try 12 degrees or something not on a 90 or 45 degree angle.Constraints: 0-360
coordFractureDistance
number
default:"20"
Coordinate fracturing applies noise to the input coordinates. This creates the ‘iris swirls’ and wavy features. The distance pushes these waves further into places they shouldnt be. This is a block value multiplier.Constraints: 0-8192
coordFractureZoom
number
default:"8"
Coordinate fracturing zoom. Higher = less frequent warping, Lower = more frequent and rapid warping / swirls.Constraints: 0.0001-512

Land & Water

landChance
number
default:"0.625"
The land chance. Up to 1.0 for total land or 0.0 for total seaConstraints: 0-1
rockPalette
IrisMaterialPalette
default:"['stone']"
The palette of blocks for ‘stone’
fluidPalette
IrisMaterialPalette
default:"['water']"
The palette of blocks for ‘water’

World Features

bedrock
boolean
default:"true"
Should bedrock be generated or not.
carving
IrisCarving
default:"{}"
Carving configuration for the dimension (caves, ravines, etc)
fluidBodies
IrisFluidBodies
default:"{}"
Configuration of fluid bodies such as rivers & lakes
deposits
array<IrisDepositGenerator>
default:"[]"
Define global deposit generators
ores
array<IrisOreGenerator>
default:"[]"
Collection of ores to be generated
overlayNoise
array<IrisShapedGeneratorStyle>
default:"[]"
Overlay additional noise on top of the interoplated terrain.

Decoration & Post-Processing

decorate
boolean
default:"true"
Generate decorations or not
postProcessing
boolean
default:"true"
Use post processing or not
postProcessingSlabs
boolean
default:"true"
Add slabs in post processing
postProcessingWalls
boolean
default:"true"
Add painted walls in post processing
useMantle
boolean
default:"true"
Disable this to stop placing objects, entities, features & updates
preventLeafDecay
boolean
default:"false"
Prevent Leaf decay as if placed in creative mode

Structures

jigsawStructures
array<IrisJigsawStructurePlacement>
default:"[]"
Jigsaw structures
jigsawStructureDivisor
number
default:"18"
The jigsaw structure divisor to use when generating missing jigsaw placement values
stronghold
string
If defined, Iris will place the given jigsaw structure where minecraft should place the overworld stronghold.
strongholdJumpDistance
integer
default:"1280"
The average distance between strongholds
maxStrongholds
integer
default:"14"
Define the maximum strongholds to place

Entities & Spawning

entitySpawners
array<string>
default:"[]"
Spawn Entities in this dimension over time. Iris will continually replenish these mobs just like vanilla does.
infiniteEnergy
boolean
default:"false"
If true, the spawner system has infinite energy. This is NOT recommended because it would allow for mobs to keep spawning over and over without a rate limit
maximumEnergy
number
default:"1000"
This is the maximum energy you can have in a dimensionConstraints: 0-10000

Environment

environment
Environment
default:"NORMAL"
The world environment (NORMAL, NETHER, THE_END)
dimensionOptions
IrisDimensionTypeOptions
default:"{}"
Define options for this dimension
mode
IrisDimensionMode
default:"{}"
required
Define the mode of this dimension (required!)

Loot & Block Drops

loot
IrisLootReference
default:"{}"
Reference loot tables in this area
blockDrops
array<IrisBlockDrops>
default:"[]"
Define custom block drops for this dimension

Scripting

engineScripts
array<string>
default:"[]"
A list of scripts executed on engine setup. File extension: .engine.kts
dataScripts
array<string>
default:"[]"
A list of scripts executed on data setup. File extension: .data.kts
chunkUpdateScripts
array<string>
default:"[]"
A list of scripts executed on chunk update. File extension: .update.kts

Testing & Debug

focus
string
default:""
Keep this either undefined or empty. Setting any biome name into this will force iris to only generate the specified biome. Great for testing.
focusRegion
string
default:""
Keep this either undefined or empty. Setting any region name into this will force iris to only generate the specified region. Great for testing.
debugChunkCrossSections
boolean
default:"false"
If set to true, Iris will remove chunks to allow visualizing cross sections of chunks easily
debugCrossSectionsMod
integer
default:"3"
Every X/Z % debugCrossSectionsMod == 0 cuts the chunkConstraints: 2-16
explodeBiomePalettes
boolean
default:"false"
Vertically split up the biome palettes with 3 air blocks in between to visualize them
studioMode
StudioMode
default:"NORMAL"
Studio Mode for testing different parts of the world

Advanced Settings

treeSettings
IrisTreeSettings
default:"{}"
Tree growth override settings
globalPreProcessors
array<IrisPreProcessors>
default:"[]"
A list of globally applied pre-processors
disabledComponents
array<MantleFlag>
default:"[]"
Collection of disabled components
disableExplorerMaps
boolean
default:"false"
Prevent cartographers to generate explorer maps (Iris worlds only). ONLY TOUCH IF YOUR SERVER CRASHES WHILE GENERATING EXPLORER MAPS
legacyRarity
boolean
default:"true"
Use legacy rarity instead of modern one. WARNING: Changing this may break expressions and image maps

JSON Example

{
  "name": "Overworld",
  "version": 1,
  "regions": [
    "temperate",
    "tropical",
    "frozen"
  ],
  "dimensionHeight": {
    "min": -64,
    "max": 320
  },
  "fluidHeight": 63,
  "logicalHeight": 256,
  "environment": "NORMAL",
  "mode": {
    "type": "STANDARD"
  },
  "landChance": 0.625,
  "biomeZoom": 1.0,
  "regionZoom": 1.0,
  "coordFractureDistance": 20,
  "coordFractureZoom": 8,
  "dimensionAngleDeg": 12,
  "bedrock": true,
  "decorate": true,
  "postProcessing": true,
  "rockPalette": {
    "palette": [
      {"block": "stone"}
    ]
  },
  "fluidPalette": {
    "palette": [
      {"block": "water"}
    ]
  }
}

Build docs developers (and LLMs) love