LoadedDistanceNoise class
Пакет: com.hypixel.hytale.procedurallib.json
Файл: com/hypixel/hytale/procedurallib/json/DistanceNoiseJsonLoader.java
extends: DistanceNoise
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
|
private final SeedResource |
seedResource |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
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();
}
}
}