Constants interface
Пакет: com.hypixel.hytale.server.worldgen.loader.climate
Файл: com/hypixel/hytale/server/worldgen/loader/climate/ClimateTypeJsonLoader.java
Поля (6)
| Модификаторы | Тип | Имя |
|---|---|---|
|
JsonArray |
DEFAULT_CHILDREN |
|
JsonArray |
DEFAULT_POINTS |
|
String |
KEY_CHILDREN |
|
String |
KEY_ISLAND |
|
String |
KEY_NAME |
|
String |
KEY_POINTS |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.loader.climate;
class="kw">import com.google.gson.JsonArray;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.google.gson.JsonObject;
class="kw">import com.hypixel.hytale.procedurallib.json.JsonLoader;
class="kw">import com.hypixel.hytale.procedurallib.json.SeedResource;
class="kw">import com.hypixel.hytale.procedurallib.json.SeedString;
class="kw">import com.hypixel.hytale.server.worldgen.climate.ClimateColor;
class="kw">import com.hypixel.hytale.server.worldgen.climate.ClimatePoint;
class="kw">import com.hypixel.hytale.server.worldgen.climate.ClimateType;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class ClimateTypeJsonLoader<K class="kw">extends SeedResource> class="kw">extends JsonLoader<K, ClimateType> {
@Nullable
class="kw">private class="kw">final ClimateType parent;
class="kw">public ClimateTypeJsonLoader(SeedString<K> var1, Path var2, JsonElement var3, @Nullable ClimateType var4) {
super(var1, var2, var3);
this.parent = var4;
}
class="kw">public ClimateType load() {
String var1 = this.loadName();
ClimateColor var2 = new ClimateColorJsonLoader<>(this.seed, this.dataFolder, this.json, this.parent != null ? this.parent.color : null).load();
ClimateColor var3 = this.loadIslandColor(var2);
ClimatePoint[] var4 = this.loadClimatePoints();
ClimateType[] var5 = this.loadChildren(new ClimateType(var1, var2, var3, var4, ClimateType.EMPTY_ARRAY));
class="kw">return new ClimateType(var1, var2, var3, var4, var5);
}
@Nonnull
class="kw">protected String loadName() {
class="kw">return this.mustGetString("Name", null);
}
@Nonnull
class="kw">protected ClimateColor loadIslandColor(@Nonnull ClimateColor var1) {
class="kw">return this.has("Island")
? new ClimateColorJsonLoader<>(this.seed, this.dataFolder, this.get("Island"), this.parent != null ? this.parent.island : null).load()
: var1;
}
@Nonnull
class="kw">protected ClimatePoint[] loadClimatePoints() {
JsonArray var1 = this.mustGetArray("Points", ClimateTypeJsonLoader.Constants.DEFAULT_POINTS);
ClimatePoint[] var2 = new ClimatePoint[var1.size()];
for (int var3 = 0; var3 < var1.size(); var3++) {
var2[var3] = this.loadPoint(var3, var1.get(var3));
}
class="kw">return var2;
}
@Nonnull
class="kw">protected ClimateType[] loadChildren(ClimateType var1) {
JsonArray var2 = this.mustGetArray("Children", ClimateTypeJsonLoader.Constants.DEFAULT_CHILDREN);
ClimateType[] var3 = new ClimateType[var2.size()];
for (int var4 = 0; var4 < var2.size(); var4++) {
JsonObject var5 = var2.get(var4).getAsJsonObject();
var3[var4] = new ClimateTypeJsonLoader<>(this.seed, this.dataFolder, var5, var1).load();
}
class="kw">return var3;
}
@Nonnull
class="kw">protected ClimatePoint loadPoint(int var1, JsonElement var2) {
try {
class="kw">return new ClimatePointJsonLoader<>(this.seed, this.dataFolder, var2).load();
} catch (Throwable var4) {
throw error(var4, "Invalid climate point at index: %d", var1);
}
}
class="kw">public class="kw">interface Constants {
String KEY_NAME = "Name";
String KEY_POINTS = "Points";
String KEY_CHILDREN = "Children";
String KEY_ISLAND = "Island";
JsonArray DEFAULT_POINTS = new JsonArray();
JsonArray DEFAULT_CHILDREN = new JsonArray();
}
}