ClimateTypeJsonLoader class

Пакет: com.hypixel.hytale.server.worldgen.loader.climate

Файл: com/hypixel/hytale/server/worldgen/loader/climate/ClimateTypeJsonLoader.java

extends: JsonLoader<K, ClimateType>

Поля (16)

МодификаторыТипИмя
JsonArray DEFAULT_CHILDREN
JsonArray DEFAULT_POINTS
String KEY_CHILDREN
String KEY_ISLAND
String KEY_NAME
String KEY_POINTS
String var1
JsonArray var1
ClimateColor var2
ClimatePoint[] var2
JsonArray var2
ClimateColor var3
ClimateType[] var3
ClimatePoint[] var4
ClimateType[] var5
JsonObject var5

Методы (6)

МодификаторыВозвратСигнатура
abstract return new ClimateTypereturn new ClimateType(var1, var2, var3, var4, var5)
abstract throw errorthrow error(var4, "Invalid climate point at index: %d", var1)
abstract for for(int var3 = 0; var3 < var1.size()
abstract for for(int var4 = 0; var4 < var2.size()
public ClimateType loadClimateType load()
abstract super super(var1, var2, var3)

Исходный код

Показать/скрыть
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();
   }
}