From fb3147c6c5343cbd75a65a4588d1bc56a67924ff Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Wed, 8 Dec 2021 11:43:15 +0300 Subject: [PATCH] Modded feature sorting --- src/main/java/ru/bclib/api/biomes/BiomeAPI.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/ru/bclib/api/biomes/BiomeAPI.java b/src/main/java/ru/bclib/api/biomes/BiomeAPI.java index 09d11890..69f49e33 100644 --- a/src/main/java/ru/bclib/api/biomes/BiomeAPI.java +++ b/src/main/java/ru/bclib/api/biomes/BiomeAPI.java @@ -85,6 +85,7 @@ public class BiomeAPI { private static Registry biomeRegistry; private static final Map FEATURE_ORDER = Maps.newHashMap(); + private static final MutableInt FEATURE_ORDER_ID = new MutableInt(0); private static final Map>> MODIFICATIONS = Maps.newHashMap(); private static final Map SURFACE_RULES = Maps.newHashMap(); @@ -104,7 +105,6 @@ public class BiomeAPI { public static final BCLBiome SMALL_END_ISLANDS = registerEndVoidBiome(getFromRegistry(new ResourceLocation("small_end_islands"))); public static void init() { - MutableInt integer = new MutableInt(0); BuiltinRegistries.BIOME .entrySet() .stream() @@ -116,7 +116,7 @@ public class BiomeAPI { features.forEach(step -> { step.forEach(provider -> { PlacedFeature feature = provider.get(); - FEATURE_ORDER.computeIfAbsent(feature, f -> integer.getAndIncrement()); + FEATURE_ORDER.computeIfAbsent(feature, f -> FEATURE_ORDER_ID.getAndIncrement()); }); }); }); @@ -711,6 +711,10 @@ public class BiomeAPI { } public static void sortFeatures(List> features) { + features.forEach(provider -> { + PlacedFeature feature = provider.get(); + FEATURE_ORDER.computeIfAbsent(feature, f -> FEATURE_ORDER_ID.getAndIncrement()); + }); features.sort((f1, f2) -> { int v1 = FEATURE_ORDER.getOrDefault(f1.get(), 2048); int v2 = FEATURE_ORDER.getOrDefault(f2.get(), 2048);