The bug
When there are multiple dimensions with the same dimension type, the game crashes. When type is a string, it is supposedly a preset for dimension options like ultrawarm, shrunk, etc. However only one dimension can use the default values overworld, the_nether and the_end.
How to reproduce
Download the worldgen settings
Create a new world and select the downloaded file when importing world settings
❌ The game crashes because thecustom:overworldalso used theoverworlddimension type preset.
Workaround
Instead of using one of the presets, specify all the default properties like this:
"type": {
"ultrawarm": false,
"natural": true,
"shrunk": false,
"ambient_light": 0,
"has_skylight": true,
"has_ceiling": false
}Stack trace
20w21a\: https://pastebin.com/j9fPF0vs
Description: Exception in server tick loop
java.lang.IllegalArgumentException: value already present: chf@6204b89e
at com.google.common.collect.HashBiMap.put(HashBiMap.java:287)
at com.google.common.collect.HashBiMap.put(HashBiMap.java:262)
at gg.a(SourceFile:51)
at gg.a(SourceFile:62)
at gl$a.a(SourceFile:28)
at net.minecraft.server.MinecraftServer.a(SourceFile:407)
at net.minecraft.server.MinecraftServer.i_(SourceFile:334)
at enr.d(SourceFile:65)
at net.minecraft.server.MinecraftServer.run(SourceFile:666)
at java.lang.Thread.run(Thread.java:745)Environment
– System Details –
Details:
Minecraft Version: 20w21a
Minecraft Version ID: 20w21a
Operating System: Windows 7 (amd64) version 6.1
Java Version: 1.8.0_51, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 1528227904 bytes (1457 MB) / 1979711488 bytes (1888 MB) up to 2147483648 bytes (2048 MB)
CPUs: 8
JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
Player Count: 0 / 8; []
Data Packs: vanilla
Type: Integrated Server (map_client.txt)
Is Modded: Probably not. Jar signature remains and both client + server brands are untouched.
In MC-184836, I provided a custom settings file that does not duplicate dimension names (as the example linked here), and also produces a crash. In my example, a new dimension is added with a unique name and a copy/paste of the settings for the normal overworld, except the seed is changed. The game crashes on world creation, and the crash report linked in MC-184836 has crash details.