World generation notes
This is how we did it
TinkersCraft is not a vanilla Amplified world, and it is not a custom dimension. It is a normal overworld with a datapack that paints large Amplified-style mountain regions onto the surface and carves much larger caves underneath. Oceans and rivers still have water. The caves stay filled with air.
- What you see in the world
- Download the pack
- Why not full Amplified
- The datapack
- How the mountains work
- How the caves got huge
- How the caves stay dry
- How we got here
- Live facts and knobs
What you see in the world
The overworld still uses vanilla biomes, climate, and structures. Plains, forests, oceans, and spawn stay walkable. Then, in large patches, the height map switches over to Minecraft’s Amplified terrain functions: tall peaks, steep cliffs, hanging land.
Under both the gentle ground and the mountain patches, cheese caves, spaghetti tunnels, and noodle caves are scaled up. You can travel a long way underground on foot. Surface water does not dump into those voids.
Download the pack
The terrain look comes from one datapack we wrote for this server. Drop the zip into a Java 26.2 world’s datapacks folder, use world type Normal, and generate a new world (or new chunks). Existing chunks will not change.
- Singleplayer:
saves/<world>/datapacks/ - Server:
<world>/datapacks/ - Same seed as TinkersCraft:
2635386264300738277
Why not full Amplified
The first world on this host was full minecraft:amplified. That looks dramatic, but spawn is hard, plains are rare, and the whole map is steep. Gigantic caves are also not a seed trick. Vanilla Amplified still uses normal cave sizes. A lucky seed only rearranges the same caves.
So we switched the level type to normal and taught the overworld two extra habits:
- Use Amplified height in big noise-painted regions, not everywhere.
- Carve much more air underground, then keep aquifers from flooding those holes.
That needed a new world. Worldgen only applies to chunks that have not been generated yet.
The datapack
All of this lives in one datapack, tinkerscraft_worldgen.zip. On this server it is loaded from:
/opt/minecraft/world/datapacks/tinkerscraft_worldgen/
It was built from the vanilla 26.2 overworld files inside paper-26.2.jar. It overrides a short list of vanilla names. Everything else (biomes, ores, Nether, End, surface rules) stays vanilla.
| Level type | minecraft:normal in server.properties |
|---|---|
| Seed | 2635386264300738277 |
| Spawn | -496, 96, 192 (plains, set after generate) |
| Pack format | min_format / max_format [107, 1] for Minecraft 26.2 |
| Runtime | Paper 26.2-121, Java 25, Hard survival |
The datapack must be present when a chunk is first generated. Reloading it does not rewrite old chunks.
How the mountains work
Vanilla 26.2 already has two height recipes: minecraft:overworld/... and minecraft:overworld_amplified/.... We did not copy Amplified by raising every hill. We blended the two.
A custom 2D noise, tinkerscraft:amplified_regions, paints large patches across the map. Continental scale, so the mountain zones are regions, not speckles:
{
"firstOctave": -9,
"amplitudes": [1.0, 1.0, 0.6]
}
Both overworld/sloped_cheese and overworld/offset wrap that noise in a range_choice:
- Noise value from
-0.12upward uses the Amplified function. - Below that, vanilla overworld height is used.
That threshold was chosen so a bit more than half the land uses Amplified-scale height. Oceans and rivers still follow normal continentalness. The mask is cached in 2D so a column does not flicker between recipes as Y changes.
Files:
data/tinkerscraft/worldgen/noise/amplified_regions.jsondata/minecraft/worldgen/density_function/overworld/sloped_cheese.jsondata/minecraft/worldgen/density_function/overworld/offset.json
How the caves got huge
Minecraft caves are density functions. Lower density means more air. We started from vanilla overworld cave JSON and turned the knobs that control size, not a new cave carver.
| Cheese caves | cave_cheese first octave -8 → -10 (larger blobs). Sample scale 0.38 on XZ and Y. The add constant next to that noise is 0.27 in vanilla and -0.22 here, which carves a lot more air. Cave layers are sampled at xz_scale 0.55, y_scale 4.0. |
|---|---|
| Spaghetti tunnels | Thickness modulator base -0.95 → -1.45, multiplier -0.35 → -0.45, and the thickness noise is sampled coarser (xz_scale 1.25, y_scale 0.75 instead of 2.0 / 1.0). |
| Noodle caves | Thickness bias -0.075 → -0.22, multiplier -0.025 → -0.08. Ridge scales on noodle_ridge_a and noodle_ridge_b are 1.15 instead of the steeper vanilla values, so the tubes are fatter. |
| Entrances | The entrance add constant 0.37 → 0.12, which opens more holes from the surface into the cave system. |
Files:
data/minecraft/worldgen/noise/cave_cheese.jsondata/minecraft/worldgen/noise_settings/overworld.json(cheese / layer scales insidefinal_density)data/minecraft/worldgen/density_function/overworld/caves/spaghetti_2d_thickness_modulator.jsondata/minecraft/worldgen/density_function/overworld/caves/noodle.jsondata/minecraft/worldgen/density_function/overworld/caves/entrances.json
How the caves stay dry
On 26.2, turning aquifers off floods the caves. That is the opposite of what you want. Forge used to solve this with Aquifers Be Gone. Paper cannot load that mod.
The working recipe is:
- Leave
aquifers_enabledtrue. - Set the noise router’s
fluid_level_floodednessto-1.0.
Aquifers still exist, so oceans, rivers, and the sea at Y 63 stay water. The floodedness value tells those aquifers to fill with air instead of water when they open into a cave. An earlier Paper attempt (a Y~46 density seal, ported from amplified_fixed) was for full Amplified and is not used on this world.
How we got here
- 31 Aug 2026. Fresh Forge 1.20.1 Amplified world on this VPS. Seed
7962253757741143832. Aquifers Be Gone kept caves dry. - 8 Sep 2026, morning. Cut over to Paper 26.2-121. Overworld region files were upgraded in place. Forge mods dropped. A datapack named
amplified_y46_sealtried to replace Aquifers Be Gone on full Amplified. - 8 Sep 2026, later. Full Amplified plus normal cave sizes was not the world we wanted. We built
tinkerscraft_worldgenfrom vanilla 26.2 JSON, setlevel-type=minecraft:normal, picked a new seed, deleted the old world, and generated this one. Spawn was moved to plains at-496 96 192.
Other datapacks on the server (Structory, Vanilla Tweaks, and similar) add structures or quality-of-life. They do not define this terrain.
Live facts and knobs
For a later session that needs to retune or rebuild this world:
| World folder | /opt/minecraft/world |
|---|---|
| Datapack | /opt/minecraft/world/datapacks/tinkerscraft_worldgen/ |
| Vanilla source | /opt/minecraft/versions/26.2/paper-26.2.jar paths under data/minecraft/worldgen/ |
| More / fewer mountains | Change the -0.12 threshold in sloped_cheese.json and offset.json. Raise it for less Amplified land. Keep both files on the same threshold. |
| Bigger / smaller cave rooms | cave_cheese first octave and the -0.22 add constant in overworld.json. Lower the constant (more negative) for more air. |
| Fatter tunnels | spaghetti_2d_thickness_modulator.json and the noodle thickness bias. |
| Flooded caves | Do not set aquifers_enabled to false on 26.2. Keep floodedness at -1.0. |
| Retune warning | Edits only affect new chunks. Changing the pack on this live world will seam old terrain against new terrain. A full regen deletes the world. |
This page is also the operator notes for the next agent that opens tinkerscraft.com and asks how the world was made.