Constants interface

Пакет: com.hypixel.hytale.server.worldgen.loader.cave

Файл: com/hypixel/hytale/server/worldgen/loader/cave/CaveGeneratorJsonLoader.java

Поля (4)

МодификаторыТипИмя
String ERROR_LOADING_CAVES
String FILE_CAVES_JSON
String FILE_NAME
String KEY_TYPES

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.loader.cave;

class="kw">import com.google.gson.JsonElement;
class="kw">import com.google.gson.JsonObject;
class="kw">import com.hypixel.hytale.procedurallib.file.AssetPath;
class="kw">import com.hypixel.hytale.procedurallib.file.FileIO;
class="kw">import com.hypixel.hytale.procedurallib.json.JsonLoader;
class="kw">import com.hypixel.hytale.procedurallib.json.SeedString;
class="kw">import com.hypixel.hytale.server.worldgen.SeedStringResource;
class="kw">import com.hypixel.hytale.server.worldgen.cave.CaveGenerator;
class="kw">import com.hypixel.hytale.server.worldgen.cave.CaveType;
class="kw">import com.hypixel.hytale.server.worldgen.loader.context.ZoneFileContext;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class CaveGeneratorJsonLoader class="kw">extends JsonLoader<SeedStringResource, CaveGenerator> {
   class="kw">protected class="kw">final Path caveFolder;
   class="kw">protected class="kw">final ZoneFileContext zoneContext;

   class="kw">public CaveGeneratorJsonLoader(@Nonnull SeedString<SeedStringResource> var1, Path var2, JsonElement var3, Path var4, ZoneFileContext var5) {
      super(var1.append(".CaveGenerator"), var2, var3);
      this.caveFolder = var4;
      this.zoneContext = var5;
   }

   @Nullable
   class="kw">public CaveGenerator load() {
      CaveGenerator var1 = null;
      if (this.caveFolder != null) {
         AssetPath var2 = FileIO.resolve(this.caveFolder.resolve("Caves.json"));
         if (!FileIO.exists(var2)) {
            class="kw">return null;
         }

         try {
            JsonObject var3 = FileIO.load(var2, JsonLoader.JSON_OBJ_LOADER);
            var1 = new CaveGenerator(this.loadCaveTypes(var3));
         } catch (Throwable var4) {
            throw new Error(String.format("Error while loading caves for world generator from %s", var2.toString()), var4);
         }
      }

      class="kw">return var1;
   }

   @Nonnull
   class="kw">protected CaveType[] loadCaveTypes(@Nonnull JsonObject var1) {
      class="kw">return new CaveTypesJsonLoader(this.seed, this.dataFolder, var1.get("Types"), this.caveFolder, this.zoneContext).load();
   }

   class="kw">public class="kw">interface Constants {
      String FILE_NAME = "Caves";
      String FILE_CAVES_JSON = "Caves.json";
      String KEY_TYPES = "Types";
      String ERROR_LOADING_CAVES = "Error while loading caves for world generator from %s";
   }
}