The mod now works through a datapack-style world preset. For a new world, choose this world type:
WGE: Islands
Inside this preset, Minecraft still uses the normal minecraft:noise generator, but with two modded worldgen resources:
worldgen_editor:island_biome_sourceselects ocean and land biomes before chunk generation.worldgen_editor:island_final_densitysoftly reshapes vanilla density so oceans form around configured islands.
This is much more stable than replacing generator internals after the vanilla generator has already been created.
Main config file:
config/worldgen_editor/worldgen_editor.json
It selects a preset:
{
"enabled": true,
"active_preset": "default"
}Preset files live here:
config/worldgen_editor/presets/default.json
config/worldgen_editor/presets/archipelago.json
config/worldgen_editor/presets/small_island.json
Bundled presets and matching world types:
WGE: Islands/default: the current standard island set.WGE: Archipelago/archipelago: several islands and an archipelago cluster.WGE: Small Island/small_island: one small spawn island.
If the files do not exist, the mod creates defaults. New installs use worldgen_editor.json and presets/*.json; continents.json is only a legacy fallback for old configs where the new main config is not present.
Preset priority is:
world type preset > config active_preset > legacy continents.json
For example, a world created with WGE: Archipelago uses config/worldgen_editor/presets/archipelago.json even if worldgen_editor.json says "active_preset": "default". This keeps the Minecraft world type and the generated world stable. The config-selected preset is used when no WGE world type preset is stored.
The selected preset is read:
- once when the mod initializes, so a default file can be created early;
- again when a world/server starts, before the island mask is rebuilt for that world's seed;
- again when
/worldgen_editor reloadis used.
This means you can edit worldgen_editor.json or a preset JSON from the main menu and then create a new world without restarting the game.
After editing the config while a world is already running, use:
/worldgen_editor reload
reload only affects newly generated chunks. Minecraft does not rebuild already generated chunks, biomes, structures, or blocks.
The main config has a top-level flag:
{
"enabled": true,
"active_preset": "default"
}enabled: falsemeans the island mask is not applied, even when the island world preset is selected.enabled: trueallows island generation in worlds where the per-world flag is also enabled.active_presetchooses a fallback file fromconfig/worldgen_editor/presets/when the world itself does not already store a WGE preset.
Each preset file has the usual island fields:
{
"outer_ocean": "minecraft:deep_ocean",
"entries": []
}outer_oceanis optional. It controls the biome used outside every island/archipelago mask. If omitted, the mod usesminecraft:deep_ocean. If the configured biome is missing or not ocean-like, the mod logs a warning and falls back tominecraft:deep_ocean.
For each world, the mod stores an extra file:
<world_folder>/worldgen_editor/worldgen_editor.json
New world-state files are created as:
{
"enabled": true
}Final logic:
generation enabled = config/worldgen_editor/worldgen_editor.json enabled && <world>/worldgen_editor/worldgen_editor.json enabled
Commands:
/worldgen_editor enable
/worldgen_editor disable
/worldgen_editor status
/worldgen_editor preset <name>
/worldgen_editor reload
You can choose a preset in the world type screen when creating a world, or change the config fallback with:
/worldgen_editor preset small_island
At minimum, an island needs a center and a radius:
{
"enabled": true,
"outer_ocean": "minecraft:deep_ocean",
"entries": [
{
"x": 0,
"z": 0,
"radius": 850
}
]
}This creates one roughly round island around coordinates 0, 0.
{
"enabled": true,
"entries": [
{
"type": "island",
"name": "Spawn Island",
"x": 0,
"z": 0,
"radius": 950,
"shape_power": 2.2,
"roughness": 0.16,
"shore_width": 0.18,
"temperature": "temperate",
"biome_patch_size": 768,
"noise": {
"seed": "spawn"
}
},
{
"type": "ocean",
"name": "Central Strait",
"x": 360,
"z": 80,
"radius_x": 230,
"radius_z": 980,
"rotation": 24,
"shape_power": 1.35,
"roughness": 0.18,
"shore_width": 0.22,
"temperature": "standard",
"biome_patch_size": 1024,
"noise": {
"seed": "central_strait"
}
},
{
"type": "archipelago",
"name": "Western Archipelago",
"x": -1700,
"z": 720,
"radius": 1100,
"count": 16,
"min_radius": 90,
"max_radius": 250,
"spread": 0.88,
"spacing": 1.15,
"min_stretch": 0.7,
"max_stretch": 1.65,
"min_shape_power": 1.2,
"max_shape_power": 3.7,
"roughness": 0.22,
"shore_width": 0.17,
"temperature": "warm",
"biome_patch_size": 1024,
"noise": {
"seed": "western_archipelago"
}
},
{
"type": "island",
"name": "Long Island",
"x": 1350,
"z": -650,
"radius": 520,
"stretch_x": 1.7,
"stretch_z": 0.75,
"rotation": 25,
"roughness": 0.14,
"noise": {
"seed": "long_island"
}
}
]
}typeis optional. Supported values areisland,ocean, andarchipelago. If omitted, the entry is a normalisland.nameis an optional display name.xis the island center on the X axis.zis the island center on the Z axis.radiusis the base island size.radius_xandradius_zdefine separate radii for more precise stretched shapes.stretch_xandstretch_zmultiply the base radius.rotationrotates the island in degrees.shape_powerchanges the base shape before coastline noise is applied.2.0is the old circle/ellipse behavior, lower values are sharper and more diamond-like, higher values are broader and more rounded-square.roughnesscontrols coastline noise strength from0.0to1.0.shore_widthcontrols the soft transition width between land and ocean.overlapcontrols whether this island can add its mask on top of other islands.temperaturecontrols climate-biome selection for this entry. Supported values arestandard,cold,temperate, andwarm. The aliasesauto,vanilla,standart, and the old field nameclimatealso work.biome_patch_sizecontrols how large fallback-biome patches are, in blocks. Default is512. Smaller values create visible biome mosaic patches; larger values make islands and archipelagos more consistent.exclude_biomesprevents specific vanilla/modded biomes from being selected for this entry. Use biome ids likeminecraft:desertor tags like#minecraft:is_badlands.
Most of the time, you only need type, x, z, radius, stretch_x, stretch_z, rotation, shape_power, and roughness.
This is the normal land-producing entry. Old entries without type still use this behavior.
{
"type": "island",
"name": "Shaped Island",
"x": 0,
"z": 0,
"radius": 850,
"stretch_x": 1.4,
"stretch_z": 0.8,
"rotation": 18,
"shape_power": 2.6,
"roughness": 0.18
}Ocean entries carve water out of land entries. They are useful for straits, bays, inner seas, and unusual coast cuts. Order does not matter: ocean masks are applied after all land masks.
{
"type": "ocean",
"name": "Cut Strait",
"x": 240,
"z": 0,
"radius_x": 180,
"radius_z": 900,
"rotation": 30,
"shape_power": 1.3,
"roughness": 0.2,
"shore_width": 0.22
}Archipelago entries do not create one giant island. Instead, they deterministically place many smaller child islands inside the configured cluster radius.
{
"type": "archipelago",
"name": "Outer Islands",
"x": -1800,
"z": 700,
"radius": 1100,
"count": 18,
"min_radius": 90,
"max_radius": 260,
"spread": 0.9,
"spacing": 1.2,
"min_stretch": 0.65,
"max_stretch": 1.6,
"min_shape_power": 1.2,
"max_shape_power": 3.8,
"roughness": 0.22,
"shore_width": 0.17,
"noise": {
"seed": "outer_islands"
}
}countis the target number of child islands.min_radiusandmax_radiuscontrol child island sizes.spreadcontrols how much of the cluster radius can be used.spacingcontrols how strongly child islands try to avoid each other.min_stretchandmax_stretchrandomize child island elongation.min_shape_powerandmax_shape_powerrandomize child island base shapes.- If the requested count cannot fit with the chosen spacing, the mod logs a warning and uses the islands it could place.
- Child island placement, size, stretch, rotation, shape, and coastline noise depend only on this entry's
noise.seed. Changing the Minecraft world seed no longer moves the individual archipelago islands.
Biome selection is automatic. The mod keeps vanilla land biomes when they are allowed, picks climate-aware ocean variants for ocean zones, and uses safe fallback land biomes when a chosen biome is excluded.
You can override the automatic climate per entry with temperature:
{
"type": "archipelago",
"name": "Warm Islands",
"x": -1200,
"z": 400,
"radius": 900,
"temperature": "warm"
}Supported values:
standardfollows Minecraft's own delegate biome choice as much as possible. This is the default whentemperatureis omitted and it does not filter climates.coldallows only cold land/ocean fallbacks, such as snowy plains, taiga, frozen ocean, and cold ocean variants.temperateallows moderate land/ocean fallbacks, such as plains, forests, meadow, normal ocean, and deep ocean. It avoids desert, savanna, jungle, snowy, and frozen fallbacks.warmallows warm land fallbacks, such as savanna, jungle, and desert. For oceans it allows warm/lukewarm/normal non-cold ocean variants and blocks cold/frozen/deep-cold oceans.
temperature affects only biome selection performed by WorldGen Editor. With standard, vanilla/modded delegate biomes are preserved unless excluded. With warm, cold, or temperate, an incompatible delegate biome is replaced with a matching fallback. Unknown modded biomes are kept under standard; under manual temperatures they are replaced unless their tags clearly match the requested climate.
Compatibility aliases:
auto=standardvanilla=standardstandart=standardclimatecan be used as an old field name instead oftemperature
Use biome_patch_size to control how patchy replacement biomes are:
{
"type": "archipelago",
"name": "Large Biome Zones",
"x": -1800,
"z": 700,
"radius": 1100,
"biome_patch_size": 1024
}Tuning:
32to128creates small, visible biome patches.256to512is a balanced range.1024to2048makes archipelagos feel more unified.- Valid range is
4to4096.
This is useful for archipelagos: small patches can look varied, but large patches are usually better when you want one island chain to feel like a single climate region.
Use exclude_biomes on any entry:
{
"type": "island",
"name": "No Deserts",
"x": 0,
"z": 0,
"radius": 850,
"exclude_biomes": [
"minecraft:desert",
"minecraft:savanna",
"#minecraft:is_badlands"
]
}Notes:
- Exact ids exclude one biome.
- Tags exclude every biome in that tag.
- Archipelago children inherit exclusions from their parent archipelago entry.
- If every preferred fallback is excluded, the mod logs a warning and uses a safe vanilla fallback.
{
"x": 0,
"z": 0,
"radius": 700,
"roughness": 0.22,
"noise": {
"seed": "coast_1",
"scale": 3.5,
"first_octave": -1,
"amplitudes": [1.0, 0.78, 0.55, 0.34]
}
}noise.seedchanges the coastline shape without changing island center or size.noise.scaleincreases noise frequency.noise.first_octavecontrols the starting octave, which mostly means the size of the largest coastline waves.noise.amplitudescontrols how much each octave contributes to the final coastline shape.
You can usually leave this at -1.
The mod builds coastline noise from several layers, also called octaves. Each next octave is twice as detailed as the previous one. first_octave decides where that stack starts:
-2starts with larger, slower coastline bends.-1is the default and works well for most islands.0starts with smaller, faster coastline variation.1and higher can make the edge busy and noisy, especially on small islands.
Practical tuning:
"first_octave": -2Use this when a large island should have broad bays and capes instead of small jagged edges.
"first_octave": -1Use this as the normal default.
"first_octave": 0Use this only when you want more small-scale coastline wobble.
amplitudes is a list of octave strengths. The first number affects the first octave, the second number affects the next octave, and so on.
Default:
"amplitudes": [1.0, 0.78, 0.55, 0.34]This means:
1.0: strongest large coastline shape.0.78: medium details still matter.0.55: smaller details are visible.0.34: fine details are present, but weaker.
Smoother, simpler coast:
"amplitudes": [1.0, 0.45, 0.18]More detailed coast:
"amplitudes": [1.0, 0.85, 0.65, 0.45, 0.25]Very smooth, almost ellipse-like coast:
"amplitudes": [1.0]Rules of thumb:
- Keep the first value near
1.0. - Let later values get smaller.
- Avoid many strong values like
[1.0, 1.0, 1.0, 1.0]unless you intentionally want a chaotic coast. - If coastlines look noisy, reduce later amplitudes first.
- If coastlines look too round, increase
roughnessbefore making amplitudes extreme.
Smoother coastline:
"roughness": 0.08Rougher coastline:
"roughness": 0.25The mod still understands older field names:
center_x=xcenter_z=zx_divisor=radius_xz_divisor=radius_zrotation_degrees=rotationmultiplier=size_multiplier
The new format is shorter, but older datapack-style files should continue to work.
- Select the
WGE: Islands,WGE: Archipelago, orWGE: Small Islandworld preset when creating an island world. - Changing the config after world creation does not rebuild old chunks.
- For a completely clean result, create a new world or deliberately delete old region files.
- Islands use vanilla land biomes inside the island mask. The mod does not manually draw rivers or swamps.
- Ocean around islands is produced through noise settings and biome source, not by late block replacement.
- The island did not appear: check that the world preset is one of the
WGE: ...presets and that/worldgen_editor statusreports the expectedworld_preset. - The world looks vanilla: check
enabledinconfig/worldgen_editor/worldgen_editor.jsonand/worldgen_editor status. - JSON changed but the nearby terrain did not: you are looking at already generated chunks.
- Reload failed: check commas, quotes, and required fields
x,z, andradius. - Shores are too sharp: lower
roughnessor increaseshore_width. - The island is too low or too small: increase
radius; very small islands are more affected by vanilla lowland or river terrain.