Generates the Overworld as floating glass biospheres surrounded by void. Each sphere is a self-contained world with its own biomes, terrain, ores and structures, and nothing generates outside of them.
This is a fork of NeoBiosphere by mlus (original source). It keeps the original concept and base code, and adds fixes and features so that biomes, structures and locate commands respect the spheres. Credit for the original idea goes to mlus.
minecraft:the_void./locate biome and mods that query biomes only find biomes that exist inside spheres.restrict_structures_to_spheres and structure_edge_margin.debug_biome_lookups to log biome lookups outside spheres.With satellites_enabled on, each main sphere can have up to satellites_max_count small spheres floating above it, in diagonal positions, so you have to build a path to reach them. Each satellite has four layers:
The ore is picked from the vanilla ores plus the ores added by other mods, found through the #c:ores_in_ground/stone block tag. You can exclude or include blocks with satellites_excluded_ores and satellites_included_ores. Modded ores use a default weight and density that you can change.
Satellites are full spheres with a void interior: no mobs, no structures, no vegetation. They have no flat cap, bedrock lining or edge ocean.
Placement is deterministic and does not depend on chunk order. A satellite that does not fit (world height, grid cell or other spheres) is simply left out. With the default center_y of 62, satellites only fit when the main sphere radius is below roughly 200 to 300 blocks. Very small satellites (radius of 6 or less) only get the shell and the stone body.
mods folder.Chunks that were already generated keep their old biomes and structures, so use a new world. On servers, use the same jar and config on both sides.
Config file: config/BiosphereWorlds.toml
| Option | Default | Description |
|---|---|---|
radius |
128 | Maximum sphere radius |
min_radius |
128 | Minimum radius. Lower than radius enables random sizes |
spacing |
500 | Distance between sphere centers |
center_y |
62 | Height of sphere centers |
sphere_block |
["minecraft:glass"] |
List of blocks for the shell |
only_upper_hemisphere |
false | Generate only the upper hemisphere |
generate_bridge |
true | Bridges between spheres |
bridge_block |
minecraft:oak_planks |
Bridge block |
bridge_radius |
1 | Bridge thickness |
restrict_structures_to_spheres |
true | Keep structures inside spheres |
structure_edge_margin |
16 | Inward margin for structure starts |
edge_ocean_enabled |
false | Turn the area next to the glass into ocean |
edge_ocean_width |
20 | Width of the ocean band, as a percentage of the sphere radius, 0 to 100 |
edge_ocean_depth |
20 | How many blocks below sea level the ocean floor sits, 0 to 100 |
bedrock_mode |
floor | floor: bedrock floor at the bottom of the world. none: no bedrock floor. shell: floor plus a 3-block bedrock lining under the glass in the lower half of each sphere |
close_open_top |
false | Close spheres that exceed the build limit with a flat cap at Y=319 |
satellites_enabled |
true | Generate mining satellites |
satellites_max_count |
3 | Maximum satellites per main sphere |
satellites_min_size_percent / satellites_max_size_percent |
8 / 12 | Satellite radius as a percentage of the main sphere radius |
satellites_min_gap_percent / satellites_max_gap_percent |
25 / 75 | Gap between surfaces, as a percentage of the main radius |
satellites_min_gap_blocks |
16 | Minimum gap in blocks |
satellites_min_elevation_degrees / satellites_max_elevation_degrees |
30 / 55 | Elevation angle range |
satellites_excluded_ores |
see config | Blocks or #tags that can never be a satellite ore |
satellites_included_ores |
empty | Extra ores to allow, for ores without the tag |
satellites_mod_ore_weight |
3 | Selection weight of each modded ore |
satellites_mod_ore_density_permille |
20 | Ore density inside the core, per thousand blocks |
debug_biome_lookups |
false | Debug logging for biome lookups outside spheres |
Generation options only affect newly generated chunks, so change them before creating a world. Changing them in an existing world can leave visible seams. Changes to the ore lists or to the installed mods apply when the world is reopened or after /reload, and only to new chunks. A satellite that was partly generated before the change can end up with more than one ore.
Each sphere gets its own radius between min_radius and radius. Keep spacing greater than twice radius: with a lower value, neighboring spheres can overlap, and the terrain of a large sphere may be cut at the edges of its grid cell.
The world runs from Y=-64 to Y=320. With the default center_y of 62:
close_open_top closes it.In general, the bottom reaches bedrock when center_y - radius <= -64, and the top is open when center_y + radius > 320. Spheres that do not reach bedrock are closed floating islands.
bedrock_mode = none breaks the pumpjack from Create Diesel Generators, which needs bedrock (or a block tagged as an oil deposit) to work. With the edge ocean enabled, structures that start near the glass can end up underwater: raise structure_edge_margin to keep them further from the edge.
Minecraft 1.21.1, NeoForge 21.1.216 or newer, Java 21.
Biome mods: mods that add biomes through TerraBlender work inside the spheres in new worlds. Verified with TerraBlender 4.1.0.8 and Biomes O' Plenty 21.1.0.14. Other biome mods have not been tested, so nothing else is marked as compatible. Worlds created with earlier versions keep the old biome source, so they will not get those biomes.
Known conflicts: mods or datapacks that replace or modify the biosphereworlds:biospheres noise settings or world preset, and mods that heavily alter Carver, Aquifer or ChunkGenerator pipelines.
Licensed under GPL-3.0. Original copyright notices are preserved.