diff --git a/src/main/java/ru/bclib/BCLib.java b/src/main/java/ru/bclib/BCLib.java index 7f748985..bc71a685 100644 --- a/src/main/java/ru/bclib/BCLib.java +++ b/src/main/java/ru/bclib/BCLib.java @@ -6,7 +6,6 @@ import net.fabricmc.loader.api.FabricLoader; import net.minecraft.resources.ResourceLocation; import ru.bclib.api.TagAPI; import ru.bclib.api.WorldDataAPI; -import ru.bclib.api.biomes.BiomeAPI; import ru.bclib.api.dataexchange.DataExchangeAPI; import ru.bclib.api.dataexchange.handler.autosync.Chunker; import ru.bclib.api.dataexchange.handler.autosync.HelloClient; @@ -49,7 +48,6 @@ public class BCLib implements ModInitializer { )); BCLibPatch.register(); - BiomeAPI.init(); Configs.save(); } diff --git a/src/main/java/ru/bclib/api/biomes/BCLBiomeBuilder.java b/src/main/java/ru/bclib/api/biomes/BCLBiomeBuilder.java index 5f3107ed..d3671fc2 100644 --- a/src/main/java/ru/bclib/api/biomes/BCLBiomeBuilder.java +++ b/src/main/java/ru/bclib/api/biomes/BCLBiomeBuilder.java @@ -1,11 +1,5 @@ package ru.bclib.api.biomes; -import java.util.ArrayList; -import java.util.List; -import java.util.function.BiFunction; -import java.util.function.Consumer; -import java.util.function.Supplier; - import net.fabricmc.fabric.api.biome.v1.BiomeModifications; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.data.BuiltinRegistries; @@ -42,6 +36,12 @@ import ru.bclib.world.biomes.BCLBiome; import ru.bclib.world.features.BCLFeature; import ru.bclib.world.structures.BCLStructureFeature; +import java.util.ArrayList; +import java.util.List; +import java.util.function.BiFunction; +import java.util.function.Consumer; +import java.util.function.Supplier; + public class BCLBiomeBuilder { private static final BCLBiomeBuilder INSTANCE = new BCLBiomeBuilder(); private static final SurfaceRules.ConditionSource SURFACE_NOISE = SurfaceRules.noiseCondition(Noises.SOUL_SAND_LAYER, -0.012); diff --git a/src/main/java/ru/bclib/api/biomes/BiomeAPI.java b/src/main/java/ru/bclib/api/biomes/BiomeAPI.java index 289b15f5..5d0aebb5 100644 --- a/src/main/java/ru/bclib/api/biomes/BiomeAPI.java +++ b/src/main/java/ru/bclib/api/biomes/BiomeAPI.java @@ -103,13 +103,12 @@ public class BiomeAPI { public static final BCLBiome END_BARRENS = registerEndVoidBiome(getFromRegistry(new ResourceLocation("end_barrens"))); public static final BCLBiome SMALL_END_ISLANDS = registerEndVoidBiome(getFromRegistry(new ResourceLocation("small_end_islands"))); - - public static void init() { - } - - private static boolean didInitFeatureOrder = false; + private static void initFeatureOrder() { - didInitFeatureOrder = true; + if (!FEATURE_ORDER.isEmpty()) { + return; + } + BuiltinRegistries.BIOME .entrySet() .stream() @@ -716,9 +715,7 @@ public class BiomeAPI { } public static void sortFeatures(List> features) { - if (!didInitFeatureOrder){ - initFeatureOrder(); - } + initFeatureOrder(); features.forEach(provider -> { PlacedFeature feature = provider.get(); FEATURE_ORDER.computeIfAbsent(feature, f -> FEATURE_ORDER_ID.getAndIncrement()); diff --git a/src/main/java/ru/bclib/world/biomes/BCLBiome.java b/src/main/java/ru/bclib/world/biomes/BCLBiome.java index 33ea53e7..8e823b63 100644 --- a/src/main/java/ru/bclib/world/biomes/BCLBiome.java +++ b/src/main/java/ru/bclib/world/biomes/BCLBiome.java @@ -1,15 +1,7 @@ package ru.bclib.world.biomes; -import java.util.List; -import java.util.Map; -import java.util.Random; -import java.util.function.Consumer; - -import org.jetbrains.annotations.Nullable; - import com.google.common.collect.Lists; import com.google.common.collect.Maps; - import net.minecraft.core.Registry; import net.minecraft.data.BuiltinRegistries; import net.minecraft.resources.ResourceKey; @@ -18,9 +10,15 @@ import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.levelgen.SurfaceRules; import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource; import net.minecraft.world.level.levelgen.feature.ConfiguredStructureFeature; +import org.jetbrains.annotations.Nullable; import ru.bclib.api.biomes.BiomeAPI; import ru.bclib.util.WeightedList; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.function.Consumer; + public class BCLBiome { private final List structures = Lists.newArrayList(); private final WeightedList subbiomes = new WeightedList<>();