diff --git a/gradle.properties b/gradle.properties index bdfde662..e50bd3af 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,6 +13,6 @@ archives_base_name=better-end # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api patchouli_version = 55-FABRIC-SNAPSHOT fabric_version = 0.36.1+1.17 -bclib_version = 0.4.0 +bclib_version = 0.4.1 rei_version = 6.0.264-alpha canvas_version = 1.0.+ diff --git a/src/main/java/ru/betterend/BetterEnd.java b/src/main/java/ru/betterend/BetterEnd.java index 4cb7dd26..3864b64c 100644 --- a/src/main/java/ru/betterend/BetterEnd.java +++ b/src/main/java/ru/betterend/BetterEnd.java @@ -3,7 +3,6 @@ package ru.betterend; import net.fabricmc.api.ModInitializer; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.resources.ResourceLocation; -import ru.bclib.api.BiomeAPI; import ru.bclib.api.WorldDataAPI; import ru.bclib.util.Logger; import ru.betterend.api.BetterEndPlugin; diff --git a/src/main/java/ru/betterend/registry/EndBiomes.java b/src/main/java/ru/betterend/registry/EndBiomes.java index bf92703c..455098c3 100644 --- a/src/main/java/ru/betterend/registry/EndBiomes.java +++ b/src/main/java/ru/betterend/registry/EndBiomes.java @@ -8,6 +8,7 @@ import ru.bclib.world.biomes.BCLBiome; import ru.bclib.world.generator.BiomeMap; import ru.bclib.world.generator.BiomePicker; import ru.betterend.config.Configs; +import ru.betterend.util.FeaturesHelper; import ru.betterend.world.biome.EndBiome; import ru.betterend.world.biome.air.BiomeIceStarfield; import ru.betterend.world.biome.cave.EmptyAuroraCaveBiome; @@ -81,6 +82,7 @@ public class EndBiomes { if (caveBiomeMap == null || caveBiomeMap.getSeed() != seed) { caveBiomeMap = new BiomeMap(seed, GeneratorOptions.getBiomeSizeCaves(), CAVE_BIOMES); } + FeaturesHelper.addFeatures(registry); } /** diff --git a/src/main/java/ru/betterend/registry/EndFeatures.java b/src/main/java/ru/betterend/registry/EndFeatures.java index 9c2dad00..a4ec02d3 100644 --- a/src/main/java/ru/betterend/registry/EndFeatures.java +++ b/src/main/java/ru/betterend/registry/EndFeatures.java @@ -392,6 +392,5 @@ public class EndFeatures { } } - public static void register() { - } + public static void register() {} } diff --git a/src/main/java/ru/betterend/util/FeaturesHelper.java b/src/main/java/ru/betterend/util/FeaturesHelper.java index bb131ba0..eb74d1f2 100644 --- a/src/main/java/ru/betterend/util/FeaturesHelper.java +++ b/src/main/java/ru/betterend/util/FeaturesHelper.java @@ -1,26 +1,25 @@ package ru.betterend.util; import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import net.minecraft.core.Registry; +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; import net.minecraft.world.level.levelgen.feature.ConfiguredStructureFeature; +import ru.bclib.api.BiomeAPI; import ru.betterend.mixin.common.BiomeGenerationSettingsAccessor; import ru.betterend.registry.EndFeatures; import ru.betterend.registry.EndStructures; import java.util.ArrayList; import java.util.List; -import java.util.Set; import java.util.function.Supplier; public class FeaturesHelper { - private static final Set INJECTED = Sets.newHashSet(); - public static void addFeatures(Registry biomeRegistry) { biomeRegistry.forEach((biome) -> { - if (biome.getBiomeCategory() == Biome.BiomeCategory.THEEND && !INJECTED.contains(biome)) { + ResourceLocation key = biomeRegistry.getKey(biome); + if (BiomeAPI.isEndBiome(key)) { BiomeGenerationSettingsAccessor accessor = (BiomeGenerationSettingsAccessor) biome.getGenerationSettings(); List>> structures = Lists.newArrayList(accessor.be_getStructures()); List>>> preFeatures = accessor.be_getFeatures(); @@ -30,12 +29,11 @@ public class FeaturesHelper { features.add(Lists.newArrayList(list)); }); - EndFeatures.registerBiomeFeatures(biomeRegistry.getKey(biome), biome, features); - EndStructures.registerBiomeStructures(biomeRegistry.getKey(biome), biome, structures); + EndFeatures.registerBiomeFeatures(key, biome, features); + EndStructures.registerBiomeStructures(key, biome, structures); accessor.be_setFeatures(features); accessor.be_setStructures(structures); - INJECTED.add(biome); } }); } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index bf232a9f..a3e9249c 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -45,7 +45,7 @@ "fabricloader": ">=0.11.6", "fabric": ">=0.36.0", "minecraft": ">=1.17", - "bclib": ">=0.4.0" + "bclib": ">=0.4.1" }, "suggests": { "byg": ">=1.1.3",