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();
   }
}