BlendNoisePropertyJsonLoader class

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

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

extends: JsonLoader<K, BlendNoiseProperty>

Поля (13)

МодификаторыТипИмя
JsonArray EMPTY_ARRAY
String KEY_ALPHA
String KEY_NOISE
String KEY_THRESHOLDS
NoiseProperty var1
JsonArray var1
JsonArray var1
NoiseProperty[] var2
NoiseProperty[] var2
double[] var2
double var2
var2
double[] var3

Методы (13)

МодификаторыВозвратСигнатура
abstract return new BlendNoisePropertyreturn new BlendNoiseProperty(var1, var2, var3)
abstract throw new IllegalStateExceptionthrow new IllegalStateException("Number of noises must match number of thresholds")
abstract throw new IllegalStateExceptionthrow new IllegalStateException("Thresholds must be in ascending order and cannot be equal")
for for(int var4 = 0; var4 < var1.length; var4++)
abstract for for(int var3 = 0; var3 < var1.size()
if if(var0.length != var1.length)
if if(var1[var4] <= var2)
protected NoiseProperty loadAlphaNoiseProperty loadAlpha()
protected NoiseProperty[] loadNoiseNoiseProperty[] loadNoise()
protected double[] loadThresholdsdouble[] loadThresholds()
abstract super super(var1, var2, var3)
static void validatevoid validate(NoiseProperty[] var0, double[] var1)
abstract validate validate(var2, var3)

Исходный код

Показать/скрыть
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.hypixel.hytale.procedurallib.property.BlendNoiseProperty;
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 BlendNoisePropertyJsonLoader<K class="kw">extends SeedResource> class="kw">extends JsonLoader<K, BlendNoiseProperty> {
   class="kw">public BlendNoisePropertyJsonLoader(SeedString<K> var1, Path var2, @Nullable JsonElement var3) {
      super(var1, var2, var3);
   }

   @Nonnull
   class="kw">public BlendNoiseProperty load() {
      NoiseProperty var1 = this.loadAlpha();
      NoiseProperty[] var2 = this.loadNoise();
      double[] var3 = this.loadThresholds();
      validate(var2, var3);
      class="kw">return new BlendNoiseProperty(var1, var2, var3);
   }

   class="kw">protected NoiseProperty loadAlpha() {
      class="kw">return new NoisePropertyJsonLoader<>(this.seed, this.dataFolder, this.mustGetObject("Alpha", null)).load();
   }

   class="kw">protected NoiseProperty[] loadNoise() {
      JsonArray var1 = this.mustGetArray("Noise", EMPTY_ARRAY);
      NoiseProperty[] var2 = new NoiseProperty[var1.size()];

      for (int var3 = 0; var3 < var1.size(); var3++) {
         var2[var3] = new NoisePropertyJsonLoader<>(this.seed, this.dataFolder, var1.get(var3)).load();
      }

      class="kw">return var2;
   }

   class="kw">protected double[] loadThresholds() {
      JsonArray var1 = this.mustGetArray("Thresholds", EMPTY_ARRAY);
      double[] var2 = new double[var1.size()];

      for (int var3 = 0; var3 < var1.size(); var3++) {
         var2[var3] = mustGet("$" + var3, var1.get(var3), null, Number.class, JsonLoader::isNumber, JsonElement::getAsNumber).doubleValue();
      }

      class="kw">return var2;
   }

   class="kw">protected class="kw">static void validate(NoiseProperty[] var0, double[] var1) {
      if (var0.length != var1.length) {
         throw new IllegalStateException("Number of noises must match number of thresholds");
      }

      double var2 = Double.NEGATIVE_INFINITY;

      for (int var4 = 0; var4 < var1.length; var4++) {
         if (var1[var4] <= var2) {
            throw new IllegalStateException("Thresholds must be in ascending order and cannot be equal");
         }

         var2 = var1[var4];
      }
   }

   class="kw">public class="kw">interface Constants {
      String KEY_ALPHA = "Alpha";
      String KEY_NOISE = "Noise";
      String KEY_THRESHOLDS = "Thresholds";
      JsonArray EMPTY_ARRAY = new JsonArray();
   }
}