Mojira Archive
MC-184653

[Crash] "java.lang.IllegalArgumentException: value already present:" - Game crashes when worldgen dimension type presets are not unique

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

  1. Download the worldgen settings duplicate.json
  2. Create a new world and select the downloaded file when importing world settings
    The game crashes because the custom:overworld also used the overworld dimension 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

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)

Fixed

Zeta

[Mojang] Georgii Gavrichev

2020-05-20, 05:06 PM

2020-07-09, 06:01 PM

2020-06-09, 03:56 PM

10

6

Confirmed

Very Important

Crash

20w21a, 20w22a, 1.16 Pre-release 2

1.16 Pre-release 3