Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
RealisticWorld
A Paper plugin for Minecraft 26.3 that replaces the Overworld generator with a more realistic, climate-based terrain generator.
Features
- Continents, coastlines, continental shelves, and deep oceans generated using continentalness noise with domain warping
- Tall, steep mountain ranges generated using ridged noise with narrow transition zones; snowlines depend on temperature
- Rivers with shaped valleys and gravel, sand, or coarse dirt riverbanks
- Climate model (temperature, humidity, and altitude-based cooling) determines vanilla biomes, preserving compatibility with trees, ores, caves, and mobs
- Vanilla structures generate normally; the plugin provides custom terrain heights through
getBaseHeight - Each biome has its own terrain shapes, surfaces, and features (see below)
- Lush Caves and Dripstone Caves generated using 3D noise, with custom cave features
- Configurable world height (default: Y -64 to 511)
- Automatically registers itself as the generator for the default world's Overworld, Nether, and End by updating
bukkit.yml - Custom caves (cheese caves, spaghetti tunnels, sinkholes) replace vanilla carvers, whose aquifers are incompatible with the custom terrain and caused air pockets in oceans and random water and lava
- Biome terrain shapes blend together using a Gaussian kernel (approximately 60 blocks), preventing abrupt steps at biome boundaries
- Vanilla lava lakes above Y -40 are removed (configurable); lava beneath magma blocks is preserved
- Lava beneath magma blocks (1–2 blocks deep, configurable): in the Nether, on magma surfaces and along lava seas; in deep Overworld caves, as magma vents
Nether
- Lava seas, canyons, stalactites, continuous pillars, floating islands, jagged basalt deltas, depressed Soul Sand Valleys, and Nylium forests
- Custom features: basalt spires, blackstone ruins, and bone ribs
End
- Rounded central island with an underside, a gap with small islands, large outer islands with terraces, hanging spires, and floating fragments
- Outer regions divided into zones, each with its own terrain, surface, and features (see below)
Biome-Specific Features
Oceans: Sandbanks (Ocean), trenches (Deep Ocean), coral reefs (Warm Ocean), sand ripples (Lukewarm Ocean), sand terraces (Deep Lukewarm Ocean), boulders on the seafloor (Cold Ocean), seamounts (Deep Cold Ocean), icebergs and pack ice (Frozen and Deep Frozen Ocean).
Coasts: Dune ripples and driftwood (Beach), ice floes (Snowy Beach), cliffs with rock spires (Stony Shore).
Deserts and badlands: Dunes, layered sandstone, gravel flats, buttes, and hoodoos (Desert); terracotta terraces (Badlands and Wooded Badlands); spires (Eroded Badlands).
Savannas: Kopjes, plateaus with terracotta edges, and wind-shaped terraces.
Temperate biomes: Ponds and wildflower fields (Plains and Sunflower Plains); fallen logs, mushrooms, mossy ground, and exposed roots (Forest, Flower Forest, Birch Forest, Old Growth Birch Forest, and Dark Forest).
Cold biomes: Podzol, mossy boulders, and fallen spruce trees (Taiga variants); frozen ponds and snowdrifts (Snowy Plains and Snowy Taiga); ice plateaus (Ice Spikes).
Tropical and swamp biomes: Karst towers (Bamboo Jungle); rugged terrain and mossy boulders (Jungle and Sparse Jungle); flat swamps with tidal channels (Swamp and Mangrove Swamp).
Highlands: Flower meadows and ponds (Meadow); petals and ponds (Cherry Grove); terraces and boulders (Grove); glacial ice and cirques (Snowy Slopes and Frozen Peaks); jagged ridges (Jagged Peaks); calcite, andesite, and spires (Stony Peaks); scree slopes (Windswept variants).
Caves: Clay pools (Lush Caves); dripstone hills with calcite (Dripstone Caves).
End Biomes
The main island (where the Ender Dragon fight takes place) and everything within end.main-island.radius + 100 blocks of the center remain unchanged. Farther out, six additional zones are generated.
Minecraft only supports the five vanilla End biomes; plugins cannot register new biome IDs. Each custom zone therefore reports a vanilla biome, which determines mobs, Chorus plants, and End Cities. F3 displays the vanilla biome name, while /rw info shows the custom zone.
| Zone | Vanilla Biome | Terrain and Surface | Features |
|---|---|---|---|
chorus_forest |
End Midlands | Flat End Stone with patches of Purpur | Dense Chorus plants |
crystal_fields |
End Midlands | Spires, Amethyst, and Calcite | Amethyst spires with clusters |
obsidian_wastes |
End Barrens | Jagged ridges of Obsidian and Crying Obsidian | Obsidian pillars |
ender_dunes |
End Barrens | Rippled dunes of End Stone and Calcite | Ribs of a dead dragon made of bone blocks |
purpur_ruins |
End Highlands | Terraces of End Stone Bricks and Purpur | Broken rows of Purpur pillars with beams |
void_rifts |
Small End Islands | Narrow rifts cutting through islands, with Obsidian edges | None |
Terrain elevations blend smoothly between zones, while surface materials transition at zone boundaries. The four classic zones (end_highlands, end_midlands, end_barrens, small_end_islands) retain their existing smooth terrain and compete with the new zones for space.
End Cities continue to generate only in vanilla End Highlands or End Midlands biomes and on sufficiently large islands. Set end.custom-biomes: false to restore the previous End generation outside the main island.
Configuration
config.yml is organized by dimension (overworld, nether, end) and includes settings for:
- Continent size, land ratio, hill and mountain height, mountain coverage, and river width
- Climate (biome size, temperature, humidity)
- Dunes, cave density, sinkholes, cave lava height, and magma vents
- Individual feature groups
- Nether lava height, floor and ceiling height, canyons, pillars, islands, magma with lava, and features
- End main island, outer islands, fragments, and spires
Every option is documented with comments. Older configs are backed up on startup (config-backup-v<N>.yml), migrated to the new layout, and existing values are preserved where possible.
Biome Settings
end.biome-size: Controls the size of End zones using the same scale levels.overworld.climate.biome-size: Controls the size of climate-based biome regions (small,medium,large,extreme; also acceptsklein,mittel,gross,extrem).nether.biome-size: Controls Nether biome size.overworld.biomes.weights,nether.biomes.weights, andend.biomes.weights: Each biome has a spawn weight (1.0 by default, 0.5 for half as frequent, 2.0 for twice as frequent, and 0 to disable).
Weights only affect the distribution of biomes compatible with the same climate and altitude. Coastlines, rivers, and mountains are unaffected by biome size; use continent-size, horizontal-scale, and mountain settings for those.
Height Datapack
The plugin searches for vanilla files in the classloader and in JARs under cache/, versions/, and the server directory. If this fails, copy data/minecraft/dimension_type/overworld.json and pack.mcmeta from a vanilla server JAR into plugins/RealisticWorld/vanilla/, preserving their relative paths.
Commands
/rw create <name> [normal|nether|end] [seed]/rw info— Displays the biome and terrain values at your current location/rw tp <world>— Teleports you to a world
Permission: realisticworld.admin
Notes
- Existing chunks in an already-generated world are not modified. New chunks use the custom generator, which can create visible borders between old and new terrain.
- World height is controlled by a datapack that overrides the Overworld dimension type. Existing Overworlds must not have their height changed.
- The generator adapts to the actual world height. Without the height pack (
world-height.enabled: false), mountains are compressed into the range Y -64 to 319. - Dungeons, geodes, and lava lakes are vanilla decoration and cannot be individually disabled through the API. The plugin removes lava lakes after generation; dungeons and geodes remain.
- Vanilla structure placement uses terrain heights provided by the generator. Some structures may still float slightly or become embedded in slopes.
LICENSE
LICENSE Link: https://kehlchen.com/license/kshl/ or https://kehlchen.com/license/kshl/license.txt


