diff --git a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/impl/biome/modification/BiomeModificationContextImpl.java b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/impl/biome/modification/BiomeModificationContextImpl.java index 470d6c069..b6df5a68b 100644 --- a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/impl/biome/modification/BiomeModificationContextImpl.java +++ b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/impl/biome/modification/BiomeModificationContextImpl.java @@ -282,7 +282,14 @@ public class BiomeModificationContextImpl implements BiomeModificationContext { featureSteps.add(RegistryEntryList.of(Collections.emptyList())); } - featureSteps.set(index, plus(featureSteps.get(index), getEntry(features, entry))); + RegistryEntry.Reference<PlacedFeature> feature = getEntry(features, entry); + + // Don't add the feature if it's already present + if (featureSteps.get(index).contains(feature)) { + return; + } + + featureSteps.set(index, plus(featureSteps.get(index), feature)); // Ensure the list of flower features is up-to-date rebuildFeatures = true;