From 651bcc5952c1a66d3d7feed7b4b45abad88761dd Mon Sep 17 00:00:00 2001
From: apple502j <33279053+apple502j@users.noreply.github.com>
Date: Wed, 29 Jun 2022 03:26:04 +0900
Subject: [PATCH] Fix biome modification for modded end biomes (#2365)

---
 .../fabric/impl/biome/modification/BiomeModificationImpl.java  | 3 ++-
 .../java/net/fabricmc/fabric/test/biome/FabricBiomeTest.java   | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/impl/biome/modification/BiomeModificationImpl.java b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/impl/biome/modification/BiomeModificationImpl.java
index 56a1bca6d..5ae9e4e5c 100644
--- a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/impl/biome/modification/BiomeModificationImpl.java
+++ b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/impl/biome/modification/BiomeModificationImpl.java
@@ -170,7 +170,8 @@ public class BiomeModificationImpl {
 
 				// Replace the Supplier to force it to rebuild on next call
 				biomeSource.indexedFeaturesSupplier = Suppliers.memoize(() -> {
-					return biomeSource.method_39525(biomeSource.biomes.stream().distinct().toList(), true);
+					// Using getBiomes to allow MixinBiomeSource to work
+					return biomeSource.method_39525(biomeSource.getBiomes().stream().distinct().toList(), true);
 				});
 			}
 
diff --git a/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/FabricBiomeTest.java b/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/FabricBiomeTest.java
index 437795dc8..c459c0048 100644
--- a/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/FabricBiomeTest.java
+++ b/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/FabricBiomeTest.java
@@ -116,7 +116,7 @@ public class FabricBiomeTest implements ModInitializer {
 		// Make sure data packs can define dynamic registry contents
 		// See #2225, #2261
 		BiomeModifications.addFeature(
-				BiomeSelectors.foundInOverworld(),
+				BiomeSelectors.foundInOverworld().or(BiomeSelectors.foundInTheEnd()),
 				GenerationStep.Feature.VEGETAL_DECORATION,
 				RegistryKey.of(Registry.PLACED_FEATURE_KEY, new Identifier(MOD_ID, "concrete_pile"))
 		);