ClimateGridJsonLoader class

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

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

extends: JsonLoader<K, ClimateNoise.Grid>

Поля (12)

МодификаторыТипИмя
ClimateNoise.Grid DEFAULT_GRID
Double DEFAULT_JITTER
Double DEFAULT_SCALE
String KEY_JITTER
String KEY_SCALE
String KEY_SEED
int var1
var1
PointEvaluator var1
SeedString var2
double var2
ConstantCellJitter var4

Методы (5)

МодификаторыВозвратСигнатура
abstract return new JitterPointEvaluatorreturn new JitterPointEvaluator(var1, var4)
protected PointEvaluator loadEvaluatorPointEvaluator loadEvaluator()
protected double loadScaledouble loadScale()
protected int loadSeedint loadSeed()
abstract super super(var1, var2, var3)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.loader.climate;

class="kw">import com.google.gson.JsonElement;
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.procedurallib.logic.cell.GridCellDistanceFunction;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.evaluator.JitterPointEvaluator;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.evaluator.NormalPointEvaluator;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.evaluator.PointEvaluator;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.jitter.ConstantCellJitter;
class="kw">import com.hypixel.hytale.server.worldgen.climate.ClimateNoise;
class="kw">import com.hypixel.hytale.server.worldgen.climate.DirectGrid;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ClimateGridJsonLoader<K class="kw">extends SeedResource> class="kw">extends JsonLoader<K, ClimateNoise.Grid> {
   class="kw">public ClimateGridJsonLoader(SeedString<K> var1, Path var2, @Nullable JsonElement var3) {
      super(var1, var2, var3);
   }

   @Nonnull
   class="kw">public ClimateNoise.Grid load() {
      class="kw">return this.json == null
         ? ClimateGridJsonLoader.Constants.DEFAULT_GRID
         : new ClimateNoise.Grid(this.loadSeed(), this.loadScale(), GridCellDistanceFunction.DISTANCE_FUNCTION, this.loadEvaluator());
   }

   class="kw">protected int loadSeed() {
      int var1 = this.seed.hashCode();
      if (this.has("Seed")) {
         SeedString var2 = this.seed.appendToOriginal(this.get("Seed").getAsString());
         var1 = var2.hashCode();
      }

      class="kw">return var1;
   }

   class="kw">protected double loadScale() {
      class="kw">return this.mustGetNumber("Scale", ClimateGridJsonLoader.Constants.DEFAULT_SCALE).doubleValue();
   }

   class="kw">protected PointEvaluator loadEvaluator() {
      PointEvaluator var1 = NormalPointEvaluator.EUCLIDEAN;
      double var2 = this.mustGetNumber("Jitter", ClimateGridJsonLoader.Constants.DEFAULT_JITTER).doubleValue();
      ConstantCellJitter var4 = new ConstantCellJitter(var2, var2, var2);
      class="kw">return new JitterPointEvaluator(var1, var4);
   }

   class="kw">public class="kw">interface Constants {
      String KEY_SEED = "Seed";
      String KEY_SCALE = "Scale";
      String KEY_JITTER = "Jitter";
      Double DEFAULT_SCALE = 1.0;
      Double DEFAULT_JITTER = 0.8;
      ClimateNoise.Grid DEFAULT_GRID = new ClimateNoise.Grid(0, 1.0, DirectGrid.INSTANCE, NormalPointEvaluator.EUCLIDEAN);
   }
}