mojira.dev
MC-200710

Fortresses and bastion basalts have the same salt, causing both to generate more rarely

The Bug

In the noise settings, structures that generate in one dimension are defined.

In that definition, spacing, separation and salt is defined. Spacing and separation determine how structures are laid out.
The salt value is just an extra value that gets added to the seed. The seed + salt are used for the rng to determine at which coordinates the structure tries to generate.

Now, usually every structure has a unique salt value. That's important, since the structures otherwise would always try to generate ontop of one another.

Now, for bastions and fortresses, they are the same in the vanilla settings. That would be fine, if like it was initially, they didn't share any biomes. But now they do. Nether fortresses can now generate in every nether biome, and bastions can generate in every nether biome except basalt deltas.

This has the effect that for every location one structure tries to generate, the other will also try to generate, but only one of them will succeed, resulting in both generating much rarer because of it.

How to ... check

  1. Download the vanilla worldgen files: https://github.com/slicedlime/examples/raw/master/vanilla_worldgen.zip

  2. Check vanilla_worldgen/worldgen/noise_settings/nether.json for the salt values.

  3. Check vanilla_worldgen/worldgen/biomes/... for verifying they can indeed generate in the same biome.

Comments 5

Unfortunately this is working as intended. If you change the salt, fortresses and bastion have the chance to generate inside each other, which is very bad. Instead the structures should both be more common with still the same salt.

@unknown Well, that's true for other structures as well (e.g. Mineshafts completely messing up strongholds).

This comment by @unknown implies to me that the two structures having the same salt is intended, but I don't know for sure.

They never both try to generate at the same place. There is a function(StructureFeature.isFeatureChunk()) that only allows fortresses to spawn in 40% of the regions and bastion in other 60%. So either a fortress tries to generate or a bastion. This is working as intended.

NeunEinser

(Unassigned)

Confirmed

Structures

1.16.3, 21w07a

Retrieved