DistanceNoiseJsonLoader class

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

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

extends: JsonLoader<K, NoiseFunction>

Поля (11)

МодификаторыТипИмя
DistanceNoise.Distance2Mode DEFAULT_DISTANCE_2_MODE
MeasurementMode DEFAULT_MEASUREMENT
String KEY_DISTANCE_2_MODE
String KEY_MEASUREMENT
private final SeedResource seedResource
CellDistanceFunction var1
MeasurementMode var1
DistanceNoise.Distance2Mode var1
var1
PointEvaluator var2
DistanceNoise.Distance2Function var3

Методы (5)

МодификаторыВозвратСигнатура
public LoadedDistanceNoisepublic LoadedDistanceNoise(CellDistanceFunction var1, PointEvaluator var2, DistanceNoise.Distance2Function var3, SeedResource var4)
protected DistanceNoise.Distance2Function loadDistance2FunctionDistanceNoise.Distance2Function loadDistance2Function()
protected ResultBuffer.ResultBuffer2d localBuffer2dprotected ResultBuffer.ResultBuffer2d localBuffer2d()
protected ResultBuffer.ResultBuffer3d localBuffer3dprotected ResultBuffer.ResultBuffer3d localBuffer3d()
abstract super super(var1, var2, var3)

Исходный код

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

class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.procedurallib.NoiseFunction;
class="kw">import com.hypixel.hytale.procedurallib.logic.DistanceNoise;
class="kw">import com.hypixel.hytale.procedurallib.logic.ResultBuffer;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.CellDistanceFunction;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.MeasurementMode;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.evaluator.PointEvaluator;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class DistanceNoiseJsonLoader<K class="kw">extends SeedResource> class="kw">extends JsonLoader<K, NoiseFunction> {
   class="kw">public DistanceNoiseJsonLoader(@Nonnull SeedString<K> var1, Path var2, JsonElement var3) {
      super(var1.append(".DistanceNoise"), var2, var3);
   }

   @Nonnull
   class="kw">public NoiseFunction load() {
      CellDistanceFunction var1 = this.loadCellDistanceFunction();
      PointEvaluator var2 = this.loadPointEvaluator();
      DistanceNoise.Distance2Function var3 = this.loadDistance2Function();
      class="kw">return new DistanceNoiseJsonLoader.LoadedDistanceNoise(var1, var2, var3, this.seed.get());
   }

   @Nullable
   class="kw">protected CellDistanceFunction loadCellDistanceFunction() {
      MeasurementMode var1 = this.loadMeasurementMode();
      class="kw">return new CellDistanceFunctionJsonLoader<>(this.seed, this.dataFolder, this.json, var1, null).load();
   }

   @Nullable
   class="kw">protected PointEvaluator loadPointEvaluator() {
      class="kw">return new PointEvaluatorJsonLoader<>(this.seed, this.dataFolder, this.json).load();
   }

   @Nonnull
   class="kw">protected MeasurementMode loadMeasurementMode() {
      class="kw">return this.has("Measurement") ? MeasurementMode.valueOf(this.get("Measurement").getAsString()) : DistanceNoiseJsonLoader.Constants.DEFAULT_MEASUREMENT;
   }

   class="kw">protected DistanceNoise.Distance2Function loadDistance2Function() {
      DistanceNoise.Distance2Mode var1 = DistanceNoiseJsonLoader.Constants.DEFAULT_DISTANCE_2_MODE;
      if (this.has("Distance2Mode")) {
         var1 = DistanceNoise.Distance2Mode.valueOf(this.get("Distance2Mode").getAsString());
      }

      class="kw">return var1.getFunction();
   }

   class="kw">public class="kw">interface Constants {
      String KEY_MEASUREMENT = "Measurement";
      String KEY_DISTANCE_2_MODE = "Distance2Mode";
      MeasurementMode DEFAULT_MEASUREMENT = MeasurementMode.CENTRE_DISTANCE;
      DistanceNoise.Distance2Mode DEFAULT_DISTANCE_2_MODE = DistanceNoise.Distance2Mode.SUB;
   }

   class="kw">private class="kw">static class LoadedDistanceNoise class="kw">extends DistanceNoise {
      class="kw">private class="kw">final SeedResource seedResource;

      class="kw">public LoadedDistanceNoise(CellDistanceFunction var1, PointEvaluator var2, DistanceNoise.Distance2Function var3, SeedResource var4) {
         super(var1, var2, var3);
         this.seedResource = var4;
      }

      @Nonnull
      @Override
      class="kw">protected ResultBuffer.ResultBuffer2d localBuffer2d() {
         class="kw">return this.seedResource.localBuffer2d();
      }

      @Nonnull
      @Override
      class="kw">protected ResultBuffer.ResultBuffer3d localBuffer3d() {
         class="kw">return this.seedResource.localBuffer3d();
      }
   }
}