diff --git a/Common/src/main/java/terrablender/mixin/MixinParameterList.java b/Common/src/main/java/terrablender/mixin/MixinParameterList.java index 4d941f3..ca0a06b 100644 --- a/Common/src/main/java/terrablender/mixin/MixinParameterList.java +++ b/Common/src/main/java/terrablender/mixin/MixinParameterList.java @@ -76,7 +76,10 @@ public void initializeForTerraBlender(RegistryAccess registryAccess, RegionType else { ImmutableList.Builder>> builder = ImmutableList.builder(); - region.addBiomes(biomeRegistry, pair -> builder.add(pair.mapSecond(biomeRegistry::getHolderOrThrow))); + region.addBiomes(biomeRegistry, pair -> { + if (biomeRegistry.getHolder(pair.getSecond()).isPresent()) + builder.add(pair.mapSecond(biomeRegistry::getHolderOrThrow)); + }); ImmutableList>> uniqueValues = builder.build(); // We can't create an RTree if there are no values present. diff --git a/Common/src/main/java/terrablender/util/LevelUtils.java b/Common/src/main/java/terrablender/util/LevelUtils.java index 0c9e5f9..1d4dc74 100644 --- a/Common/src/main/java/terrablender/util/LevelUtils.java +++ b/Common/src/main/java/terrablender/util/LevelUtils.java @@ -102,7 +102,10 @@ public static void initializeBiomes(RegistryAccess registryAccess, Holder biomeRegistry = registryAccess.registryOrThrow(Registries.BIOME); ImmutableList.Builder> builder = ImmutableList.builder(); - Regions.get(regionType).forEach(region -> region.addBiomes(biomeRegistry, pair -> builder.add(biomeRegistry.getHolderOrThrow(pair.getSecond())))); + Regions.get(regionType).forEach(region -> region.addBiomes(biomeRegistry, pair -> { + if (biomeRegistry.getHolder(pair.getSecond()).isPresent()) + builder.add(biomeRegistry.getHolderOrThrow(pair.getSecond())); + })); biomeSourceEx.appendDeferredBiomesList(builder.build()); TerraBlender.LOGGER.info(String.format("Initialized TerraBlender biomes for level stem %s", levelResourceKey.location()));