Constants interface
Пакет: com.hypixel.hytale.server.worldgen.loader.climate
Файл: com/hypixel/hytale/server/worldgen/loader/climate/ClimateMaskJsonLoader.java
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
|
JsonArray |
DEFAULT_UNIQUE |
|
String |
KEY_RANDOMIZER |
|
String |
KEY_UNIQUE_ZONES |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.loader.climate;
class="kw">import com.google.gson.JsonArray;
class="kw">import com.google.gson.JsonObject;
class="kw">import com.hypixel.hytale.procedurallib.file.FileIO;
class="kw">import com.hypixel.hytale.procedurallib.json.CoordinateRandomizerJsonLoader;
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.random.CoordinateRandomizer;
class="kw">import com.hypixel.hytale.procedurallib.random.ICoordinateRandomizer;
class="kw">import com.hypixel.hytale.server.worldgen.climate.ClimateGraph;
class="kw">import com.hypixel.hytale.server.worldgen.climate.ClimateMaskProvider;
class="kw">import com.hypixel.hytale.server.worldgen.climate.ClimateNoise;
class="kw">import com.hypixel.hytale.server.worldgen.climate.UniqueClimateGenerator;
class="kw">import java.io.IOException;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class ClimateMaskJsonLoader<K class="kw">extends SeedResource> class="kw">extends JsonLoader<K, ClimateMaskProvider> {
class="kw">public ClimateMaskJsonLoader(SeedString<K> var1, Path var2, Path var3) {
super(var1, var2, loadMaskFileJson(var3));
}
@Nullable
class="kw">public ClimateMaskProvider load() {
class="kw">return new ClimateMaskProvider(this.loadRandomizer(), this.loadClimateNoise(), this.loadClimateGraph(), this.loadUniqueClimateGenerator());
}
@Nonnull
class="kw">protected ICoordinateRandomizer loadRandomizer() {
class="kw">return this.has("Randomizer")
? new CoordinateRandomizerJsonLoader<>(this.seed, this.dataFolder, this.get("Randomizer")).load()
: CoordinateRandomizer.EMPTY_RANDOMIZER;
}
@Nonnull
class="kw">protected ClimateNoise loadClimateNoise() {
class="kw">return new ClimateNoiseJsonLoader<>(this.seed, this.dataFolder, this.mustGetObject("Noise", null)).load();
}
@Nonnull
class="kw">protected ClimateGraph loadClimateGraph() {
class="kw">return new ClimateGraphJsonLoader<>(this.seed, this.dataFolder, this.mustGetObject("Climate", null)).load();
}
@Nonnull
class="kw">protected UniqueClimateGenerator loadUniqueClimateGenerator() {
class="kw">return new UniqueClimateGeneratorJsonLoader<>(
this.seed, this.dataFolder, this.mustGetArray("UniqueZones", ClimateMaskJsonLoader.Constants.DEFAULT_UNIQUE)
)
.load();
}
class="kw">protected class="kw">static JsonObject loadMaskFileJson(Path var0) {
try {
class="kw">return FileIO.load(var0, JsonLoader.JSON_OBJ_LOADER);
} catch (IOException var2) {
throw new Error("Failed to load Mask.json", var2);
}
}
class="kw">public class="kw">interface Constants {
String KEY_RANDOMIZER = "Randomizer";
String KEY_UNIQUE_ZONES = "UniqueZones";
JsonArray DEFAULT_UNIQUE = new JsonArray();
}
}