Constants interface

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

Файл: com/hypixel/hytale/server/worldgen/loader/context/ZoneFileContext.java

Поля (1)

МодификаторыТипИмя
String ZONE_PREFIX

Исходный код

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

class="kw">import com.google.gson.JsonElement;
class="kw">import com.google.gson.JsonObject;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ZoneFileContext class="kw">extends FileContext<FileLoadingContext> {
   class="kw">private class="kw">final FileContext.Registry<BiomeFileContext> tileBiomes = new FileContext.Registry<>("TileBiome");
   class="kw">private class="kw">final FileContext.Registry<BiomeFileContext> customBiomes = new FileContext.Registry<>("CustomBiome");

   class="kw">public ZoneFileContext(int var1, @Nonnull String var2, @Nonnull Path var3, @Nonnull FileLoadingContext var4) {
      super(var1, var2, var3, var4);
   }

   @Nonnull
   class="kw">public FileContext.Registry<BiomeFileContext> getTileBiomes() {
      class="kw">return this.tileBiomes;
   }

   @Nonnull
   class="kw">public FileContext.Registry<BiomeFileContext> getCustomBiomes() {
      class="kw">return this.customBiomes;
   }

   @Nonnull
   class="kw">public FileContext.Registry<BiomeFileContext> getBiomes(@Nonnull BiomeFileContext.Type var1) {
      class="kw">return class="kw">switch (var1) {
         case Tile -> this.getTileBiomes();
         case Custom -> this.getCustomBiomes();
      };
   }

   @Nonnull
   class="kw">public ZoneFileContext matchContext(@Nullable JsonElement var1, String var2) {
      if (var1 != null && var1.isJsonObject()) {
         JsonElement var3 = var1.getAsJsonObject().get(var2);
         if (var3 != null && var3.isJsonObject()) {
            JsonObject var4 = var3.getAsJsonObject();
            if (!var4.has("File")) {
               class="kw">return this;
            }

            String var5 = var4.get("File").getAsString();
            class="kw">return this.matchContext(var5);
         } else {
            class="kw">return this;
         }
      } else {
         class="kw">return this;
      }
   }

   @Nonnull
   class="kw">public ZoneFileContext matchContext(@Nonnull String var1) {
      if (!var1.startsWith("Zones.")) {
         class="kw">return this;
      }

      int var2 = "Zones.".length();
      int var3 = var1.indexOf(46, var2);
      if (var3 < var2) {
         class="kw">return this;
      }

      if (var1.regionMatches(var2, this.getName(), 0, var3 - var2)) {
         class="kw">return this;
      }

      String var4 = var1.substring(var2, var3);
      FileContext.Registry var5 = this.getParentContext().getZones();
      class="kw">return !var5.contains(var4) ? this : var5.get(var4);
   }

   @Nonnull
   class="kw">protected BiomeFileContext createBiome(String var1, Path var2, BiomeFileContext.Type var3) {
      class="kw">return this.createBiome(this.getParentContext().nextBiomeId(), var1, var2, var3);
   }

   @Nonnull
   class="kw">protected BiomeFileContext createBiome(int var1, String var2, Path var3, BiomeFileContext.Type var4) {
      class="kw">return new BiomeFileContext(this.getParentContext().updateBiomeId(var1), var2, var3, var4, this);
   }

   class="kw">public class="kw">interface Constants {
      String ZONE_PREFIX = "Zones.";
   }
}