Json API fixes

This commit is contained in:
paulevsGitch 2020-11-12 00:30:33 +03:00
parent 8ed48f99d0
commit f70b22365a
2 changed files with 28 additions and 4 deletions

View file

@ -74,6 +74,7 @@ public class EndBiomes {
EndBiomes.MUTABLE.clear(); EndBiomes.MUTABLE.clear();
LAND_BIOMES.clearMutables(); LAND_BIOMES.clearMutables();
VOID_BIOMES.clearMutables();
for (EndBiome biome : EndBiomes.LAND_BIOMES.getBiomes()) for (EndBiome biome : EndBiomes.LAND_BIOMES.getBiomes())
EndBiomes.MUTABLE.put(biomeRegistry.getOrThrow(EndBiomes.getBiomeKey(biome)), biome); EndBiomes.MUTABLE.put(biomeRegistry.getOrThrow(EndBiomes.getBiomeKey(biome)), biome);
@ -92,14 +93,22 @@ public class EndBiomes {
} }
float fog = 1F; float fog = 1F;
float chance = 1F; float chance = 1F;
boolean isVoid = false;
JsonElement element = config.get(id.getPath()); JsonElement element = config.get(id.getPath());
if (element != null) { if (element != null && element.isJsonObject()) {
fog = element.getAsJsonObject().get("fogDensity").getAsFloat(); fog = JsonFactory.getFloat(element.getAsJsonObject(), "fogDensity", 1);
chance = element.getAsJsonObject().get("genChance").getAsFloat(); chance = JsonFactory.getFloat(element.getAsJsonObject(), "genChance", 1);
isVoid = JsonFactory.getString(element.getAsJsonObject(), "type", "land").equals("void");
} }
EndBiome endBiome = new EndBiome(id, biome, fog, chance); EndBiome endBiome = new EndBiome(id, biome, fog, chance);
LAND_BIOMES.addBiomeMutable(endBiome); if (isVoid) {
VOID_BIOMES.addBiomeMutable(endBiome);
}
else {
LAND_BIOMES.addBiomeMutable(endBiome);
}
KEYS.put(endBiome, biomeRegistry.getKey(biome).get()); KEYS.put(endBiome, biomeRegistry.getKey(biome).get());
ID_MAP.put(id, endBiome);
} }
} }
}); });

View file

@ -99,4 +99,19 @@ public class JsonFactory {
BetterEnd.LOGGER.catching(ex); BetterEnd.LOGGER.catching(ex);
} }
} }
public static float getFloat(JsonObject object, String member, float def) {
JsonElement elem = object.get(member);
return elem == null ? def : elem.getAsFloat();
}
public static boolean getBoolean(JsonObject object, String member, boolean def) {
JsonElement elem = object.get(member);
return elem == null ? def : elem.getAsBoolean();
}
public static String getString(JsonObject object, String member, String def) {
JsonElement elem = object.get(member);
return elem == null ? def : elem.getAsString();
}
} }