Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-199545

Removal of custom dimension datapacks will make nether and/or end dimension disappear permanently

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • None
    • 1.16.2
    • None
    • Windows 10 Pro Version 10.0.18363 Build 18363
      Java v.8 update 261 (build 1.8.0_261-b12)
      Laptop: MSI GS75 with i7-10750H CPU and RTX 2070 Super Max-Q Design
    • Unconfirmed
    • (Unassigned)

      To recreate this issue, make a datapack that has it's own dimension. Then put it in a world and do `/execute in ` and see the list of dimensions. Everything should be there including vanilla dimension and the datapack dimension. Exit the world and remove the datapack from the world's datapack folder. Then re-enter the world and repeat that command. The Nether and/or End will be missing. If you put the datapack back on, the missing dimension will still not return but the datapack dimension and overworld will still be avaliable. 

      Here is a video of me using a datapack in unmodded Minecraft and when I removed the datapack, the end went missing even though the datapack only makes a new dimension called "the_nether_2"
      Video: https://streamable.com/o3cnq8
      Datapack: test.zip

      A friend looked into it and seems to be dependent on the order of the dimensions processed in this line of code in GeneratorOptions.CODEC (yarn names. Let me know if I should convert it to mojmap)

      SimpleRegistry.createCodec(Registry.DIMENSION_OPTIONS, Lifecycle.stable(), DimensionOptions.CODEC).xmap(DimensionOptions::method_29569, Function.identity()).fieldOf("dimensions")
      

      Here, the vanilla dimensions are returned missing when DimensionOptions#method_29569 is called it seems. The codec here might be the issue. The desired behavior is that the codec reads all the dimensions that exists and skips the ones that do not exist in the DIMENSION_OPTIONS registry instead of failing and removing dimensions that should still exist.

       

            Unassigned Unassigned
            TelepathicGrunt TelepathicGrunt
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: