NoiseHeightThresholdInterpreterJsonLoader class

Пакет: com.hypixel.hytale.procedurallib.json

Файл: com/hypixel/hytale/procedurallib/json/NoiseHeightThresholdInterpreterJsonLoader.java

extends: JsonLoader<K, NoiseHeightThresholdInterpreter>

Поля (13)

МодификаторыТипИмя
String ERROR_NO_KEYS
String ERROR_NO_NOISE
String ERROR_NO_THRESHOLDS
String KEY_KEYS
String KEY_NOISE
String KEY_THRESHOLDS
final int length
IHeightThresholdInterpreter[] var1
JsonArray var1
JsonArray var1
float[] var2
IHeightThresholdInterpreter[] var2
float[] var2

Методы (9)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Keys and Thresholds array do not have the same length!")
abstract throw new IllegalStateExceptionthrow new IllegalStateException("Could not find noise map data in NoiseHeightThresholdInterpreter. Keyword: Noise")
abstract throw new IllegalStateExceptionthrow new IllegalStateException("Could not find threshold data in NoiseHeightThresholdInterpreter. Keyword: Thresholds")
abstract throw new IllegalStateExceptionthrow new IllegalStateException("Could not find key data in NoiseHeightThresholdInterpreter. Keyword: Keys")
for for(int var3 = 0; var3 < var2.length; var3++)
for for(int var3 = 0; var3 < var2.length; var3++)
if if(var2.length != var1.length)
protected float[] loadKeysfloat[] loadKeys()
static boolean shouldHandleboolean shouldHandle(@Nonnull JsonObject var0)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.json;

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.condition.IHeightThresholdInterpreter;
class="kw">import com.hypixel.hytale.procedurallib.condition.NoiseHeightThresholdInterpreter;
class="kw">import com.hypixel.hytale.procedurallib.property.NoiseProperty;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class NoiseHeightThresholdInterpreterJsonLoader<K class="kw">extends SeedResource> class="kw">extends JsonLoader<K, NoiseHeightThresholdInterpreter> {
   class="kw">protected class="kw">final int length;

   class="kw">public NoiseHeightThresholdInterpreterJsonLoader(@Nonnull SeedString<K> var1, Path var2, JsonElement var3, int var4) {
      super(var1.append(".NoiseHeightThresholdInterpreter"), var2, var3);
      this.length = var4;
   }

   @Nonnull
   class="kw">public NoiseHeightThresholdInterpreter load() {
      IHeightThresholdInterpreter[] var1 = this.loadInterpreters();
      float[] var2 = this.loadKeys();
      if (var2.length != var1.length) {
         throw new IllegalArgumentException("Keys and Thresholds array do not have the same length!");
      } else {
         class="kw">return new NoiseHeightThresholdInterpreter(this.loadNoise(), var2, var1);
      }
   }

   @Nullable
   class="kw">protected NoiseProperty loadNoise() {
      if (!this.has("Noise")) {
         throw new IllegalStateException("Could not find noise map data in NoiseHeightThresholdInterpreter. Keyword: Noise");
      } else {
         class="kw">return new NoisePropertyJsonLoader<>(this.seed, this.dataFolder, this.get("Noise")).load();
      }
   }

   @Nonnull
   class="kw">protected IHeightThresholdInterpreter[] loadInterpreters() {
      if (!this.has("Thresholds")) {
         throw new IllegalStateException("Could not find threshold data in NoiseHeightThresholdInterpreter. Keyword: Thresholds");
      }

      JsonArray var1 = this.get("Thresholds").getAsJsonArray();
      IHeightThresholdInterpreter[] var2 = new IHeightThresholdInterpreter[var1.size()];

      for (int var3 = 0; var3 < var2.length; var3++) {
         var2[var3] = new HeightThresholdInterpreterJsonLoader<>(this.seed.append("-" + var3), this.dataFolder, var1.get(var3), this.length).load();
      }

      class="kw">return var2;
   }

   class="kw">protected float[] loadKeys() {
      if (!this.has("Keys")) {
         throw new IllegalStateException("Could not find key data in NoiseHeightThresholdInterpreter. Keyword: Keys");
      }

      JsonArray var1 = this.get("Keys").getAsJsonArray();
      float[] var2 = new float[var1.size()];

      for (int var3 = 0; var3 < var2.length; var3++) {
         var2[var3] = var1.get(var3).getAsFloat();
      }

      class="kw">return var2;
   }

   class="kw">public class="kw">static boolean shouldHandle(@Nonnull JsonObject var0) {
      class="kw">return var0.has("Thresholds");
   }

   class="kw">public class="kw">interface Constants {
      String KEY_NOISE = "Noise";
      String KEY_THRESHOLDS = "Thresholds";
      String KEY_KEYS = "Keys";
      String ERROR_NO_NOISE = "Could not find noise map data in NoiseHeightThresholdInterpreter. Keyword: Noise";
      String ERROR_NO_THRESHOLDS = "Could not find threshold data in NoiseHeightThresholdInterpreter. Keyword: Thresholds";
      String ERROR_NO_KEYS = "Could not find key data in NoiseHeightThresholdInterpreter. Keyword: Keys";
   }
}