Bastions generate on a fixed Y level.
If there is a lava sea in the nether and the bastion generates on it, the bastion is just floating on the lava sea. This part could probably be intended.
This also causes bastions to float mid-air if the sea level in the nether is lowered down, which I don't believe is intentional.
Linked issues
is duplicated by 1
Attachments
Comments 9
You don't need one. Classic vanilla generation does the same, the bastion occasionally floats on lava seas.
Can confirm in 1.18 Pre-release 2. They appear to be hardcoded to generate at y=33
.
net.minecraft.world.level.levelgen.feature.BastionFeature.java (Mojang mappings, 1.18-pre2)
public class BastionFeature
extends JigsawFeature {
private static final int BASTION_SPAWN_HEIGHT = 33;
public BastionFeature(Codec<JigsawConfiguration> $$0) {
super($$0, 33, false, false);
}
...
}
Still present in 1.20.6 and the most recent 1.21 snapshot (24w20a). I agree that it looks odd when some parts of the structure just float above lava, and I think they should change the spawn height to y = 32 to resolve this, alongside replacing all the air blocks at the lowest level within the structure with lava blocks whenever the structure spawns in lava.
yeah, they generate at y=32/29, but you should provide an example of this happening on a datapack with custom height on nether.