diff --git a/src/main/java/ru/betterend/registry/EndBiomes.java b/src/main/java/ru/betterend/registry/EndBiomes.java index 5eb766db..3ece03e7 100644 --- a/src/main/java/ru/betterend/registry/EndBiomes.java +++ b/src/main/java/ru/betterend/registry/EndBiomes.java @@ -81,7 +81,7 @@ public class EndBiomes { biomeRegistry.forEach((biome) -> { if (biome.getCategory() == Category.THEEND) { Identifier id = biomeRegistry.getId(biome); - if (!ID_MAP.containsKey(id)) { + if (!ID_MAP.containsKey(id) && !LAND_BIOMES.containsImmutable(id) && !VOID_BIOMES.containsImmutable(id)) { JsonObject config = configs.get(id.getNamespace()); if (config == null) { config = loadJsonConfig(id.getNamespace()); @@ -109,6 +109,9 @@ public class EndBiomes { } }); + System.out.println("Land"); + LAND_BIOMES.debug(); + CLIENT.clear(); } diff --git a/src/main/java/ru/betterend/world/biome/EndBiome.java b/src/main/java/ru/betterend/world/biome/EndBiome.java index 72bf3ff8..0c5ae710 100644 --- a/src/main/java/ru/betterend/world/biome/EndBiome.java +++ b/src/main/java/ru/betterend/world/biome/EndBiome.java @@ -111,6 +111,10 @@ public class EndBiome { genChance += chance; return genChance; } + + public String debug() { + return this.mcID + " " + this.genChanceUnmutable + " " + this.genChance; + } public Biome getBiome() { return biome; diff --git a/src/main/java/ru/betterend/world/generator/BiomePicker.java b/src/main/java/ru/betterend/world/generator/BiomePicker.java index 821956f0..9221335a 100644 --- a/src/main/java/ru/betterend/world/generator/BiomePicker.java +++ b/src/main/java/ru/betterend/world/generator/BiomePicker.java @@ -2,22 +2,27 @@ package ru.betterend.world.generator; import java.util.List; import java.util.Random; +import java.util.Set; import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import net.minecraft.util.Identifier; import ru.betterend.registry.EndBiomes; import ru.betterend.world.biome.EndBiome; public class BiomePicker { + private final Set immutableIDs = Sets.newHashSet(); private final List biomes = Lists.newArrayList(); private float maxChanceUnmutable = 0; private float maxChance = 0; private int biomeCount = 0; public void addBiome(EndBiome biome) { - biomes.add(biome); maxChance = biome.mutateGenChance(maxChance); + immutableIDs.add(biome.getID()); maxChanceUnmutable = maxChance; + biomes.add(biome); biomeCount ++; } @@ -43,4 +48,14 @@ public class BiomePicker { public List getBiomes() { return biomes; } + + public void debug() { + for (EndBiome b: biomes) { + System.out.println(b.debug()); + } + } + + public boolean containsImmutable(Identifier id) { + return immutableIDs.contains(id); + } }