Querz / mcaselector

A tool to select chunks from Minecraft worlds for deletion or export.
MIT License
3.07k stars 171 forks source link

Unable to Specify Biome by World Height / Section in a chunk #467

Open rickpat110 opened 3 months ago

rickpat110 commented 3 months ago

Describe the bug A clear and concise description of what the bug is. MCA Selector is a great tool and many thanks for making it available! I have been using it to edit the biomes in a MC world and while I can replace all the biomes in a chunk, it is unable to correctly handle when there are more than one biome which changes based on world height. While carving is preserved when biomes are changed and chunk is regenerated from the Status = biomes level, it doesn't correctly update the below ground biomes (e.g. lush_caves, deep_dark) and will just use the overwritten biome for the entire chunk.

For example, above ground is wooded_badlands but below ground is lush_caves and then even deeper is deep_dark, but if I replace the biome with "bamboo_junle" and regenerate the chunk from biomes, then the whole chunk's biome is "bamboo_jungle" even at negative y values.

I think this could be resolved by allowing either replacement of the biome in the biome textbox (e.g. replace, biome: wooded_badlands = bamboo_jungle) in change fields tool or for the the biome text field in the "Change NBT" window to take either 1 biome or a comma separated list of biomes with height parameters (e.g. -45:0 deep_dark, 0:63 lush_caves, 60:319 bamboo_jungle)

To Reproduce Steps to reproduce the behavior:

  1. import a minecraft world. Select desired chunks in the map.
  2. Press Ctrl+N to open the change fields tool. Then enter "true" in DeleteSections and apply changes
  3. Once back at map with selected chunks highlighted, again open change fields via Ctrl+N
  4. In status enter "biomes" in the biome field enter "bamboo_jungle" (note, entering sections analogous to the "DeleteSections" field did not work) and apply.

Expected behavior:

By direct editing of the NBT files using an NBT file explorer, most selected sections (e.g. aboveground) can be deleted and one or two sections replaced with desired biome tag (e.g. "bamboo_jungle") and then force regeneration of the chunk by setting status to "biomes". The result provides the expected behavior of leaving subterranean biome sections (e.g. lush caves, deep dark) intact while selectively changing the overworld biome. Implementation of a biomes by section or biomes by height or even just replacing set biomes within a chunk would be awesome.

Environment