Constants interface
Пакет: com.hypixel.hytale.procedurallib.json
Файл: com/hypixel/hytale/procedurallib/json/CoordinateRandomizerJsonLoader.java
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
String |
KEY_GENERATORS |
|
String |
KEY_GENERATORS_AMPLITUDE |
|
String |
SEED_X_NOISE_SUFFIX |
|
String |
SEED_Y_NOISE_SUFFIX |
|
String |
SEED_Z_NOISE_SUFFIX |
Исходный код
Показать/скрыть
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.property.NoiseProperty;
class="kw">import com.hypixel.hytale.procedurallib.random.CoordinateRandomizer;
class="kw">import com.hypixel.hytale.procedurallib.random.CoordinateRotator;
class="kw">import com.hypixel.hytale.procedurallib.random.ICoordinateRandomizer;
class="kw">import com.hypixel.hytale.procedurallib.random.RotatedCoordinateRandomizer;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">public class CoordinateRandomizerJsonLoader<K class="kw">extends SeedResource> class="kw">extends JsonLoader<K, ICoordinateRandomizer> {
class="kw">public CoordinateRandomizerJsonLoader(SeedString<K> var1, Path var2, JsonElement var3) {
super(var1, var2, var3);
}
@Nonnull
class="kw">public ICoordinateRandomizer load() {
class="kw">return this.json != null && !this.json.isJsonNull() ? this.loadRandomizer() : CoordinateRandomizer.EMPTY_RANDOMIZER;
}
@Nonnull
class="kw">protected ICoordinateRandomizer loadRandomizer() {
ICoordinateRandomizer var1 = new CoordinateRandomizer(
this.loadGenerators(".X-Noise#%s"), this.loadGenerators(".Y-Noise#%s"), this.loadGenerators(".Z-Noise#%s")
);
if (this.has("Rotate")) {
CoordinateRotator var2 = new CoordinateRotatorJsonLoader<>(this.seed, this.dataFolder, this.get("Rotate")).load();
if (var2 != CoordinateRotator.NONE) {
var1 = new RotatedCoordinateRandomizer(var1, var2);
}
}
class="kw">return var1;
}
@Nonnull
class="kw">protected CoordinateRandomizer.AmplitudeNoiseProperty[] loadGenerators(@Nonnull String var1) {
JsonArray var2 = this.get("Generators").getAsJsonArray();
CoordinateRandomizer.AmplitudeNoiseProperty[] var3 = new CoordinateRandomizer.AmplitudeNoiseProperty[var2.size()];
for (int var4 = 0; var4 < var2.size(); var4++) {
JsonObject var5 = var2.get(var4).getAsJsonObject();
NoiseProperty var6 = new NoisePropertyJsonLoader<>(this.seed.alternateOriginal(String.format(var1, var4)), this.dataFolder, var5).load();
double var7 = var5.get("Amplitude").getAsDouble();
var3[var4] = new CoordinateRandomizer.AmplitudeNoiseProperty(var6, var7);
}
class="kw">return var3;
}
class="kw">public class="kw">interface Constants {
String KEY_GENERATORS = "Generators";
String KEY_GENERATORS_AMPLITUDE = "Amplitude";
String SEED_X_NOISE_SUFFIX = ".X-Noise#%s";
String SEED_Y_NOISE_SUFFIX = ".Y-Noise#%s";
String SEED_Z_NOISE_SUFFIX = ".Z-Noise#%s";
}
}