diff --git a/src/main/java/ru/betterend/registry/EndBiomes.java b/src/main/java/ru/betterend/registry/EndBiomes.java index 6ce581ab..931bcd03 100644 --- a/src/main/java/ru/betterend/registry/EndBiomes.java +++ b/src/main/java/ru/betterend/registry/EndBiomes.java @@ -110,16 +110,19 @@ public class EndBiomes { hasCaves = JsonFactory.getBoolean(element.getAsJsonObject(), "hasCaves", true); } EndBiome endBiome = new EndBiome(id, biome, fog, chance, hasCaves); - if (isVoid) { - VOID_BIOMES.addBiomeMutable(endBiome); + if (Configs.BIOME_CONFIG.getBoolean(endBiome, "enabled", true)) { + if (isVoid) { + VOID_BIOMES.addBiomeMutable(endBiome); + } + else { + LAND_BIOMES.addBiomeMutable(endBiome); + } + ID_MAP.put(id, endBiome); } - else { - LAND_BIOMES.addBiomeMutable(endBiome); - } - ID_MAP.put(id, endBiome); } } }); + Configs.BIOME_CONFIG.saveChanges(); LAND_BIOMES.rebuild(); VOID_BIOMES.rebuild(); @@ -268,7 +271,6 @@ public class EndBiomes { private static void registerBiomeDirect(EndBiome biome) { fillSet(); int possibleID = incID++; - Configs.BIOME_CONFIG.getBoolean(biome, "enabled", true); if (occupiedIDs.contains(possibleID)) { String message = "ID for biome " + biome.getID() + " is already occupied, changing biome ID from " + possibleID + " to "; while (occupiedIDs.contains(possibleID)) { @@ -276,7 +278,9 @@ public class EndBiomes { } BetterEnd.LOGGER.info(message + possibleID); } - Registry.register(BuiltinRegistries.BIOME, possibleID, biome.getID().toString(), biome.getBiome()); + if (Configs.BIOME_CONFIG.getBoolean(biome, "enabled", true)) { + Registry.register(BuiltinRegistries.BIOME, possibleID, biome.getID().toString(), biome.getBiome()); + } } public static EndBiome getFromBiome(Biome biome) { diff --git a/src/main/java/ru/betterend/world/biome/EndBiome.java b/src/main/java/ru/betterend/world/biome/EndBiome.java index 9bc382ed..348def77 100644 --- a/src/main/java/ru/betterend/world/biome/EndBiome.java +++ b/src/main/java/ru/betterend/world/biome/EndBiome.java @@ -11,6 +11,7 @@ import com.google.gson.JsonObject; import net.minecraft.structure.Structure; import net.minecraft.util.Identifier; import net.minecraft.world.biome.Biome; +import ru.betterend.config.Configs; import ru.betterend.util.JsonFactory; import ru.betterend.util.StructureHelper; import ru.betterend.world.features.EndFeature; @@ -39,18 +40,18 @@ public class EndBiome { public EndBiome(BiomeDefinition definition) { biome = definition.build(); mcID = definition.getID(); - fogDensity = definition.getFodDensity(); - genChanceUnmutable = definition.getGenChance(); - hasCaves = definition.hasCaves(); + fogDensity = Configs.BIOME_CONFIG.getFloat(this, "fogDensity", definition.getFodDensity()); + genChanceUnmutable = Configs.BIOME_CONFIG.getFloat(this, "generationChance", definition.getGenChance()); + hasCaves = Configs.BIOME_CONFIG.getBoolean(this, "hasCaves", definition.hasCaves()); readStructureList(); } public EndBiome(Identifier id, Biome biome, float fogDensity, float genChance, boolean hasCaves) { this.biome = biome; this.mcID = id; - this.fogDensity = fogDensity; - this.genChanceUnmutable = genChance; - this.hasCaves = hasCaves; + this.fogDensity = Configs.BIOME_CONFIG.getFloat(this, "fogDensity", fogDensity); + this.genChanceUnmutable = Configs.BIOME_CONFIG.getFloat(this, "generationChance", genChance); + this.hasCaves = Configs.BIOME_CONFIG.getBoolean(this, "hasCaves", hasCaves); readStructureList(); }