When ancient cities are generated, the camp site structure will be generated as a combined union of all three variants camp_1
, camp_2
, and camp_3
, instead of a single structure from one of the listed variants.
Steps to Reproduce:
Generate a new world, and locate one or more ancient city with camp a site structure(s).
/locate structure minecraft:ancient_city
Expected Results:
Using the /place template command, these are the results of specifying the camp_1, camp_2, and camp_3 structure files, respectively, and are what would be expected to be seen in any Ancient City with one or more camp sites:
[media][media]
[media]
Observed Results:
Seed -977118593:
X: -353 Y: -40 Z: 1378 (Two identical camp sites of unknown structure):
[media]X: 367 Y: -45 Z: 1327 (This is near the previous screenshot; the other identical campsites in previous image can be seen in the background. This one is also identical and unknown.)
[media]Seed 5305220127415150578:
X: 163 Y: -45 Z: 122
X: 53 Y: -45 Z: 133
[media]X: -306 Y: -45 Z: 542
[media]Attachments
Comments 4
If you open up the Minecraft jar and look at the worldgen JSON files it ships with it, under data/minecraft/worldgen/template_pool/ancient_cities/structures.json, you will find in there that the city uses a "minecraft:list_pool_element" type to intentionally combine the three nbt files. Likely an attempt at combining them with a rot processor like Outpost towers do. however, they all run "minecraft:ancient_city_generic_degradation" processor list which only rots blocks under #minecraft:ancient_city_replaceable block tag which does not include Blue Wool or Light Blue Wool. Which means all three NBT camp files will combine always with no change.
Maybe the bug is a missing rot processor for Blue Wool and Light Blue Wool for this template pool entry. It is intended they all spawn in the same spot. The missing rotting is likely the actual bug part. That or they decided against the rotting and just replaced it with the normal processor to disable the wool rotting.
Quick way to see what I am talking about: https://github.com/misode/mcmeta/blob/ce568022daf9a26bf6625e96fd56fb3e0f068c32/data/minecraft/worldgen/template_pool/ancient_city/structures.json#L108-L134
Thank you TelepathicGrunt for the info! I still find it odd these well-designed camp site structures would be allowed to generate on top of one another and rely on wool block degradation to uncover something of the original design. My reasoning for this is due to it being unlikely the rot would ever work reliably enough to allow the lit campfire present in camp_3 to actually function as designed.
I feel like the use of list_pool_element was perhaps a placeholder until a "random_pool_element" node could be implemented, kind of like how the randomize node works over in the Bedrock Edition entity event system.
I hope they change things so the three separate structures are generated in their original designs. The ones with the campfires make for great oases when exploring the Ancient Cities when playing over on Bedrock Edition.
Looks to me like all 3 camps are generating on top of each other