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

Datapacks with custom dimensions are non-portable when it comes to custom dimensions and choosing random seeds

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • None
    • 1.16.4, 20w49a, 1.16.5
    • None
    • Confirmed
    • Custom Worlds

      Datapacks are kind of non-portable when they have custom dimensions, since custom dimensions are required to specify a seed while, when creating new worlds, this seed might be randomly generated for built-in dimensions. Here, what I mean with non-portable, is that one datapack may not be compatible with two worlds unless the seed of the custom dimensions in the datapack is changed. When no seed for a custom dimension is specified, the dimension will not exist because of a loading error.

      What I expect to happen

      I expect datapacks being portable, i.e. being able to be distributed for multiple worlds without having to change the seed of custom dimensions every time. That means that the 'seed' field of a custom dimension should be optional.

      What actually happens

      Right now when loading the same datapack with a custom dimension, that custom dimension is exactly the same for both worlds, while built-in dimensions have different terrains. When no seed is specified in the datapack, the custom dimension will not load. This makes datapacks non-portable, i.e. someone cannot distribute the datapack and guaranteeing that the custom dimension it adds is always random.

      Steps to reproduce

      1. Create a datapack with a custom dimension or override an existing dimension.
      2. Make sure the custom dimension has some unique terrain.
      3. Do not specify a seed.
      4. Load the datapack and try to teleport to the custom dimension.
         No custom dimension is loaded since no seed was specified
      5. Now add a seed
      6. Reload the datapack
      7. Go into the custom dimension
         Custom dimension exists
      8. Create a new world and use the same datapack
      9. Go into the custom dimension
         It is exactly the same due to the seed being required

      Possible fix

      The most likely fix is to make seed fields optional, meaning that the randomized world seed is taken if no specific seed is given in the datapack.

       


      Just like a resource pack, a datapack should work the regardless of where you use it. The definition of 'the same' which plays a role: I don't feel a datapack works 'the same' in worlds if it generates the same terrain for custom dimensions in several randomly different worlds. Hence I consider this an issue and not a feature request.

      The pack.zip attachment changes the nether to use the overworld biome source. Note that seeds have to be specified in order for the datapack to load: the nether is now always the same regardless of what seed you use. If you remove the seeds, the nether will generate with the normal nether biome source.

            Unassigned Unassigned
            RGSW Shadew
            Votes:
            7 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: