mojira.dev
MC-194427

Custom Structure in dimension generator causes the world to fail to generate that dimension with no errors

I used the world datapack defined in this Reddit post as a starting point: https://www.reddit.com/r/minecraft_configs/comments/hoakfc/after_a_lot_of_trial_and_error_i_finally_managed/

In that download, the separation and spacing for "custom:tower" appear to be at the default settings (1 and 0 if I remember correctly). I noticed that the structure is logged in the biome json (worldgen>biome>custom>hills.json) as a startable structure, but not in the dimension json (dimension>custom>custom_biomes.json) in the structures list. Since I wasn't certain what the doubled "structures" object was about, I tried both of the following when adding "custom:tower" to the dimension json:

"structures": { "structures": { "minecraft:ruined_portal": { "spacing": 4, "separation": 2, "salt": 34222645 } }, "structures": { "custom:tower": { "spacing": 4, "separation": 2, "salt": 34222644 } } }

and

"structures": { "structures": { "minecraft:ruined_portal": { "spacing": 4, "separation": 2, "salt": 34222645 } }, "custom:tower": { "spacing": 4, "separation": 2, "salt": 34222644 } }

(both behaved exactly the same as far as I could tell)

When loading the datapack up at world creation, the world generated without errors but the custom dimensions were not recognized by /execute. However, when generating a single-biome world using the relevant custom biomes, the world generated as expected, with the structure separation and spacings defined in the dimension json working as intended.

I have a vague suspicion that this may be related to MC-187904 which prevents custom dimensions from replacing existing dimensions and also gives no errors on world creation.

Comments 3

worldgen>configured_structure_feature>custom>tower.json

{
  "config": {
    "start_pool": "custom:tower",
    "size": 6
  },
  "name": "minecraft:village"
}

We can currently only use a vanilla structure as the "name": (in this case "minecraft:village")

Thats why his structure can only be referenced with "minecraft:village" and not with "custom:tower".

He has specificly chosen "minecraft:village" so he can use "start_pool": in the config.
"start_pool": allows him to reference a file in template_pool

worldgen>template_pool>custom>tower.json

{
  "fallback": "minecraft:empty",
  "name": "custom:tower",
  "elements": [
    {
      "weight": 1,
      "element": {
        "location": "custom:tower",
        "processors": "minecraft:mossify_20_percent",
        "projection": "rigid",
        "element_type": "minecraft:legacy_single_pool_element"
      }
    }
  ]
}

The "location": allows him to reference a structure he saved.

 

This method produces many problems like only being able to generate one kind of custome structure and of course also the one statet here
I am pretty sure this is not intended and feels more like a workaround.

Provides an updated custom world file.

Please check if that's still an issue for you in the latest 1.17.1 stable release or the latest 1.18 development snapshot.

Druser

(Unassigned)

Unconfirmed

(Unassigned)

20w28a

Retrieved