From e0890d6e25e14087365b38bdc0cddbf6b98a5a73 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Thu, 26 May 2022 17:06:27 +0300 Subject: [PATCH] Skip biomes that are missing in registry (#145) --- gradle.properties | 2 +- src/main/java/ru/bclib/api/biomes/BiomeAPI.java | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index 0bd3a726..db799acc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,7 +11,7 @@ loader_version= 0.13.3 fabric_version = 0.48.0+1.18.2 # Mod Properties -mod_version = 1.4.6 +mod_version = 1.5.0 maven_group = ru.bclib archives_base_name = bclib diff --git a/src/main/java/ru/bclib/api/biomes/BiomeAPI.java b/src/main/java/ru/bclib/api/biomes/BiomeAPI.java index 0a8e584c..46eaaaee 100644 --- a/src/main/java/ru/bclib/api/biomes/BiomeAPI.java +++ b/src/main/java/ru/bclib/api/biomes/BiomeAPI.java @@ -430,19 +430,28 @@ public class BiomeAPI { public static void loadFabricAPIBiomes() { FabricBiomesData.NETHER_BIOMES.forEach((key) -> { if (!hasBiome(key.location())) { - registerNetherBiome(BuiltinRegistries.BIOME.get(key)); + Optional> optional = BuiltinRegistries.BIOME.getHolder(key); + if (optional.isPresent()) { + registerNetherBiome(optional.get().value()); + } } }); FabricBiomesData.END_LAND_BIOMES.forEach((key, weight) -> { if (!hasBiome(key.location())) { - registerEndLandBiome(BuiltinRegistries.BIOME.getHolder(key).orElseThrow(), weight); + Optional> optional = BuiltinRegistries.BIOME.getHolder(key); + if (optional.isPresent()) { + registerEndLandBiome(optional.get(), weight); + } } }); FabricBiomesData.END_VOID_BIOMES.forEach((key, weight) -> { if (!hasBiome(key.location())) { - registerEndVoidBiome(BuiltinRegistries.BIOME.getOrCreateHolder(key), weight); + Optional> optional = BuiltinRegistries.BIOME.getHolder(key); + if (optional.isPresent()) { + registerEndVoidBiome(optional.get(), weight); + } } }); }