diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BiomeAPI.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BiomeAPI.java index 403ed17a..d7ab6830 100644 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BiomeAPI.java +++ b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BiomeAPI.java @@ -232,7 +232,11 @@ public class BiomeAPI { ResourceKey key = getBiomeKey(biome.getBiome()); if (biome.allowFabricRegistration()) { TheEndBiomes.addHighlandsBiome(key, weight); - //TheEndBiomes.addMidlandsBiome(key, weight); + TheEndBiomes.addMidlandsBiome(key, key, weight); + if (biome.isEdgeBiome()) { + ResourceKey parentKey = getBiomeKey(biome.getParentBiome().getBiome()); + TheEndBiomes.addMidlandsBiome(parentKey, key, weight); + } } return biome; } diff --git a/src/main/java/org/betterx/bclib/mixin/common/TheEndBiomeDataMixin.java b/src/main/java/org/betterx/bclib/mixin/common/TheEndBiomeDataMixin.java index 1215fc36..1fefc7ad 100644 --- a/src/main/java/org/betterx/bclib/mixin/common/TheEndBiomeDataMixin.java +++ b/src/main/java/org/betterx/bclib/mixin/common/TheEndBiomeDataMixin.java @@ -32,14 +32,26 @@ public class TheEndBiomeDataMixin implements TheEndBiomeDataAccessor { private Map, WeightedPicker>> endBarrensMap; public boolean bcl_canGenerateAsEndBiome(ResourceKey key) { - return endBiomesMap != null && endBiomesMap.keySet().stream().map(h->h.unwrapKey().orElse(null)).anyMatch(k->k!=null && k.equals(key)); + return endBiomesMap != null && endBiomesMap + .keySet() + .stream() + .map(h->h.unwrapKey().orElse(null)) + .anyMatch(k->k!=null && k.equals(key)); } public boolean bcl_canGenerateAsEndMidlandBiome(ResourceKey key) { - return endMidlandsMap != null && endMidlandsMap.keySet().stream().map(h->h.unwrapKey().orElse(null)).anyMatch(k->k!=null && k.equals(key)); + return endMidlandsMap != null && endMidlandsMap + .keySet() + .stream() + .map(h->h.unwrapKey().orElse(null)) + .anyMatch(k->k!=null && k.equals(key)); } public boolean bcl_canGenerateAsEndBarrensBiome(ResourceKey key) { - return endBarrensMap != null && endBarrensMap.keySet().stream().map(h->h.unwrapKey().orElse(null)).anyMatch(k->k!=null && k.equals(key)); + return endBarrensMap != null && endBarrensMap + .keySet() + .stream() + .map(h->h.unwrapKey().orElse(null)) + .anyMatch(k->k!=null && k.equals(key)); } }