ZoneJsonLoader class

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

Файл: com/hypixel/hytale/server/worldgen/loader/zone/ZoneJsonLoader.java

extends: JsonLoader<SeedStringResource, Zone>

Поля (47)

МодификаторыТипИмя
String ERROR_BIOME_GENERATOR
String ERROR_CAVE_GENERATOR
String ERROR_CUSTOM_BIOMES
String ERROR_TILE_BIOMES
String ERROR_UNIQUE_PREFABS
String KEY_BIOME_GENERATOR
String KEY_DISCOVERY
String KEY_DISCOVERY_DISPLAY
String KEY_DISCOVERY_DURATION
String KEY_DISCOVERY_FADE_IN_DURATION
String KEY_DISCOVERY_FADE_OUT_DURATION
String KEY_DISCOVERY_ICON
String KEY_DISCOVERY_MAJOR
String KEY_DISCOVERY_SOUND_EVENT_ID
String KEY_DISCOVERY_ZONE
String KEY_UNIQUE_PREFABS
String PATH_CAVE
String SEED_ZONE_SUFFIX
JsonElement var1
IWeightedMap var1
JsonElement var10
Boolean var11
var11
JsonElement var12
Float var13
var13
JsonElement var14
Float var15
var15
JsonElement var16
Float var17
var17
JsonElement var18
JsonObject var2
TileBiome[] var2
Boolean var3
var3
CustomBiome[] var3
JsonElement var4
String var5
var5
JsonElement var6
String var7
var7
JsonElement var8
String var9
var9

Методы (5)

МодификаторыВозвратСигнатура
abstract throw new Errorthrow new Error("Error while loading biome generator.", var5)
abstract throw new Errorthrow new Error("Error while loading tile biomes.", var2)
abstract throw new Errorthrow new Error("Error while loading custom biomes.", var3)
abstract throw new Errorthrow new Error("Error while loading cave generator.", var2)
abstract throw new Errorthrow new Error("Error while loading unique prefabs.", var2)

Исходный код

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

class="kw">import com.google.gson.JsonElement;
class="kw">import com.google.gson.JsonObject;
class="kw">import com.hypixel.hytale.common.map.IWeightedMap;
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.biome.Biome;
class="kw">import com.hypixel.hytale.server.worldgen.biome.BiomePatternGenerator;
class="kw">import com.hypixel.hytale.server.worldgen.biome.CustomBiome;
class="kw">import com.hypixel.hytale.server.worldgen.biome.TileBiome;
class="kw">import com.hypixel.hytale.server.worldgen.cave.CaveGenerator;
class="kw">import com.hypixel.hytale.server.worldgen.container.UniquePrefabContainer;
class="kw">import com.hypixel.hytale.server.worldgen.loader.biome.BiomePatternGeneratorJsonLoader;
class="kw">import com.hypixel.hytale.server.worldgen.loader.cave.CaveGeneratorJsonLoader;
class="kw">import com.hypixel.hytale.server.worldgen.loader.container.UniquePrefabContainerJsonLoader;
class="kw">import com.hypixel.hytale.server.worldgen.loader.context.ZoneFileContext;
class="kw">import com.hypixel.hytale.server.worldgen.zone.Zone;
class="kw">import com.hypixel.hytale.server.worldgen.zone.ZoneDiscoveryConfig;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ZoneJsonLoader class="kw">extends JsonLoader<SeedStringResource, Zone> {
   @Nonnull
   class="kw">protected class="kw">final ZoneFileContext zoneContext;

   class="kw">public ZoneJsonLoader(@Nonnull SeedString<SeedStringResource> var1, @Nonnull Path var2, @Nonnull JsonElement var3, @Nonnull ZoneFileContext var4) {
      super(var1.append(String.format(".Zone-%s", var4.getName())), var2, var3);
      this.zoneContext = var4;
   }

   @Nonnull
   class="kw">public Zone load() {
      class="kw">return new Zone(
         this.zoneContext.getId(),
         this.zoneContext.getName(),
         this.loadDiscoveryConfig(),
         this.loadCaveGenerator(),
         this.loadBiomePatternGenerator(),
         this.loadUniquePrefabContainer()
      );
   }

   @Nonnull
   class="kw">protected ZoneDiscoveryConfig loadDiscoveryConfig() {
      JsonElement var1 = this.get("Discovery");
      if (var1 != null && var1.isJsonObject()) {
         JsonObject var2 = var1.getAsJsonObject();
         Boolean var3 = null;
         JsonElement var4 = var2.get("Display");
         if (var4 != null && !var4.isJsonNull()) {
            var3 = var4.getAsBoolean();
         }

         String var5 = null;
         JsonElement var6 = var2.get("ZoneName");
         if (var6 != null && !var6.isJsonNull()) {
            var5 = var6.getAsString();
         }

         String var7 = null;
         JsonElement var8 = var2.get("SoundEventId");
         if (var8 != null && !var8.isJsonNull()) {
            var7 = var8.getAsString();
         }

         String var9 = null;
         JsonElement var10 = var2.get("Icon");
         if (var10 != null && !var10.isJsonNull()) {
            var9 = var10.getAsString();
         }

         Boolean var11 = null;
         JsonElement var12 = var2.get("Major");
         if (var12 != null && !var12.isJsonNull()) {
            var11 = var12.getAsBoolean();
         }

         Float var13 = null;
         JsonElement var14 = var2.get("Duration");
         if (var14 != null && !var14.isJsonNull()) {
            var13 = var14.getAsFloat();
         }

         Float var15 = null;
         JsonElement var16 = var2.get("FadeInDuration");
         if (var16 != null && !var16.isJsonNull()) {
            var15 = var16.getAsFloat();
         }

         Float var17 = null;
         JsonElement var18 = var2.get("FadeOutDuration");
         if (var18 != null && !var18.isJsonNull()) {
            var17 = var18.getAsFloat();
         }

         class="kw">return ZoneDiscoveryConfig.of(var3, var5, var7, var9, var11, var13, var15, var17);
      } else {
         class="kw">return ZoneDiscoveryConfig.DEFAULT;
      }
   }

   @Nonnull
   class="kw">protected BiomePatternGenerator loadBiomePatternGenerator() {
      IWeightedMap var1 = this.loadBiomes();
      TileBiome[] var2 = var1.toArray();
      CustomBiome[] var3 = this.loadCustomBiomes(var2);

      try {
         class="kw">return new BiomePatternGeneratorJsonLoader(this.seed, this.dataFolder, this.get("BiomeGenerator"), var1, var3).load();
      } catch (Throwable var5) {
         throw new Error("Error while loading biome generator.", var5);
      }
   }

   @Nullable
   class="kw">protected IWeightedMap<TileBiome> loadBiomes() {
      try {
         class="kw">return new ZoneBiomesJsonLoader(this.seed, this.dataFolder, this.get("BiomeGenerator"), this.zoneContext).load();
      } catch (Throwable var2) {
         throw new Error("Error while loading tile biomes.", var2);
      }
   }

   @Nonnull
   class="kw">protected CustomBiome[] loadCustomBiomes(@Nonnull Biome[] var1) {
      try {
         class="kw">return new ZoneCustomBiomesJsonLoader(this.seed, this.dataFolder, this.get("BiomeGenerator"), this.zoneContext, var1).load();
      } catch (Throwable var3) {
         throw new Error("Error while loading custom biomes.", var3);
      }
   }

   @Nullable
   class="kw">protected CaveGenerator loadCaveGenerator() {
      try {
         class="kw">return new CaveGeneratorJsonLoader(this.seed, this.dataFolder, this.json, this.zoneContext.getPath().resolve("Cave"), this.zoneContext).load();
      } catch (Throwable var2) {
         throw new Error("Error while loading cave generator.", var2);
      }
   }

   @Nonnull
   class="kw">protected UniquePrefabContainer loadUniquePrefabContainer() {
      try {
         class="kw">return new UniquePrefabContainerJsonLoader(this.seed, this.dataFolder, this.get("UniquePrefabs"), this.zoneContext).load();
      } catch (Throwable var2) {
         throw new Error("Error while loading unique prefabs.", var2);
      }
   }

   class="kw">public class="kw">interface Constants {
      String KEY_BIOME_GENERATOR = "BiomeGenerator";
      String KEY_UNIQUE_PREFABS = "UniquePrefabs";
      String KEY_DISCOVERY = "Discovery";
      String KEY_DISCOVERY_DISPLAY = "Display";
      String KEY_DISCOVERY_ZONE = "ZoneName";
      String KEY_DISCOVERY_SOUND_EVENT_ID = "SoundEventId";
      String KEY_DISCOVERY_ICON = "Icon";
      String KEY_DISCOVERY_MAJOR = "Major";
      String KEY_DISCOVERY_DURATION = "Duration";
      String KEY_DISCOVERY_FADE_IN_DURATION = "FadeInDuration";
      String KEY_DISCOVERY_FADE_OUT_DURATION = "FadeOutDuration";
      String PATH_CAVE = "Cave";
      String SEED_ZONE_SUFFIX = ".Zone-%s";
      String ERROR_BIOME_GENERATOR = "Error while loading biome generator.";
      String ERROR_TILE_BIOMES = "Error while loading tile biomes.";
      String ERROR_CUSTOM_BIOMES = "Error while loading custom biomes.";
      String ERROR_CAVE_GENERATOR = "Error while loading cave generator.";
      String ERROR_UNIQUE_PREFABS = "Error while loading unique prefabs.";
   }
}