This commit is contained in:
Aleksey 2020-12-12 12:30:34 +03:00
commit c2d6a30499
2 changed files with 22 additions and 17 deletions

View file

@ -104,22 +104,25 @@ public class EndBiomes {
boolean hasCaves = true; boolean hasCaves = true;
JsonElement element = config.get(id.getPath()); JsonElement element = config.get(id.getPath());
if (element != null && element.isJsonObject()) { if (element != null && element.isJsonObject()) {
fog = JsonFactory.getFloat(element.getAsJsonObject(), "fogDensity", 1); fog = JsonFactory.getFloat(element.getAsJsonObject(), "fog_density", 1);
chance = JsonFactory.getFloat(element.getAsJsonObject(), "genChance", 1); chance = JsonFactory.getFloat(element.getAsJsonObject(), "generation_chance", 1);
isVoid = JsonFactory.getString(element.getAsJsonObject(), "type", "land").equals("void"); isVoid = JsonFactory.getString(element.getAsJsonObject(), "type", "land").equals("void");
hasCaves = JsonFactory.getBoolean(element.getAsJsonObject(), "hasCaves", true); hasCaves = JsonFactory.getBoolean(element.getAsJsonObject(), "has_caves", true);
} }
EndBiome endBiome = new EndBiome(id, biome, fog, chance, hasCaves); EndBiome endBiome = new EndBiome(id, biome, fog, chance, hasCaves);
if (isVoid) { if (Configs.BIOME_CONFIG.getBoolean(endBiome, "enabled", true)) {
VOID_BIOMES.addBiomeMutable(endBiome); 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(); LAND_BIOMES.rebuild();
VOID_BIOMES.rebuild(); VOID_BIOMES.rebuild();
@ -268,7 +271,6 @@ public class EndBiomes {
private static void registerBiomeDirect(EndBiome biome) { private static void registerBiomeDirect(EndBiome biome) {
fillSet(); fillSet();
int possibleID = incID++; int possibleID = incID++;
Configs.BIOME_CONFIG.getBoolean(biome, "enabled", true);
if (occupiedIDs.contains(possibleID)) { if (occupiedIDs.contains(possibleID)) {
String message = "ID for biome " + biome.getID() + " is already occupied, changing biome ID from " + possibleID + " to "; String message = "ID for biome " + biome.getID() + " is already occupied, changing biome ID from " + possibleID + " to ";
while (occupiedIDs.contains(possibleID)) { while (occupiedIDs.contains(possibleID)) {
@ -276,7 +278,9 @@ public class EndBiomes {
} }
BetterEnd.LOGGER.info(message + possibleID); 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) { public static EndBiome getFromBiome(Biome biome) {

View file

@ -11,6 +11,7 @@ import com.google.gson.JsonObject;
import net.minecraft.structure.Structure; import net.minecraft.structure.Structure;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.Biome;
import ru.betterend.config.Configs;
import ru.betterend.util.JsonFactory; import ru.betterend.util.JsonFactory;
import ru.betterend.util.StructureHelper; import ru.betterend.util.StructureHelper;
import ru.betterend.world.features.EndFeature; import ru.betterend.world.features.EndFeature;
@ -39,18 +40,18 @@ public class EndBiome {
public EndBiome(BiomeDefinition definition) { public EndBiome(BiomeDefinition definition) {
biome = definition.build(); biome = definition.build();
mcID = definition.getID(); mcID = definition.getID();
fogDensity = definition.getFodDensity(); fogDensity = Configs.BIOME_CONFIG.getFloat(this, "fog_density", definition.getFodDensity());
genChanceUnmutable = definition.getGenChance(); genChanceUnmutable = Configs.BIOME_CONFIG.getFloat(this, "generation_chance", definition.getGenChance());
hasCaves = definition.hasCaves(); hasCaves = Configs.BIOME_CONFIG.getBoolean(this, "has_caves", definition.hasCaves());
readStructureList(); readStructureList();
} }
public EndBiome(Identifier id, Biome biome, float fogDensity, float genChance, boolean hasCaves) { public EndBiome(Identifier id, Biome biome, float fogDensity, float genChance, boolean hasCaves) {
this.biome = biome; this.biome = biome;
this.mcID = id; this.mcID = id;
this.fogDensity = fogDensity; this.fogDensity = Configs.BIOME_CONFIG.getFloat(this, "fog_density", fogDensity);
this.genChanceUnmutable = genChance; this.genChanceUnmutable = Configs.BIOME_CONFIG.getFloat(this, "generation_chance", genChance);
this.hasCaves = hasCaves; this.hasCaves = Configs.BIOME_CONFIG.getBoolean(this, "has_caves", hasCaves);
readStructureList(); readStructureList();
} }