ZoneColorMappingJsonLoader class

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

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

extends: JsonLoader<SeedStringResource, ZoneColorMapping>

Поля (11)

МодификаторыТипИмя
ZoneColorMapping var1
Zone var10
JsonArray var11
Zone[] var12
JsonObject var2
JsonObject var2
int var5
String var6
Zone var7
String var9
final Map<String, Zone> zoneLookup

Методы (5)

МодификаторыВозвратСигнатура
static void collectZonesvoid collectZones(Set<String> var0, @Nullable JsonElement var1)
for for(int var8 = 0; var8 < var12.length; var8++)
if if(var10 == null)
if if(var7 == null)
abstract super super(var1, var2, var3)

Исходный код

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

class="kw">import com.google.gson.JsonArray;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.google.gson.JsonObject;
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.loader.util.ColorUtil;
class="kw">import com.hypixel.hytale.server.worldgen.zone.Zone;
class="kw">import com.hypixel.hytale.server.worldgen.zone.ZoneColorMapping;
class="kw">import java.nio.file.Path;
class="kw">import java.util.Map;
class="kw">import java.util.Objects;
class="kw">import java.util.Set;
class="kw">import java.util.Map.Entry;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ZoneColorMappingJsonLoader class="kw">extends JsonLoader<SeedStringResource, ZoneColorMapping> {
   class="kw">protected class="kw">final Map<String, Zone> zoneLookup;

   class="kw">public ZoneColorMappingJsonLoader(SeedString<SeedStringResource> var1, Path var2, JsonElement var3, Map<String, Zone> var4) {
      super(var1, var2, var3);
      this.zoneLookup = var4;
   }

   @Nonnull
   class="kw">public ZoneColorMapping load() {
      ZoneColorMapping var1 = new ZoneColorMapping();
      JsonObject var2 = this.json.getAsJsonObject();

      for (Entry var4 : var2.entrySet()) {
         int var5 = ColorUtil.hexString(var4.getKey());
         if (var4.getValue().isJsonArray()) {
            JsonArray var11 = var4.getValue().getAsJsonArray();
            Zone[] var12 = new Zone[var11.size()];

            for (int var8 = 0; var8 < var12.length; var8++) {
               String var9 = var11.get(var8).getAsString();
               Zone var10 = this.zoneLookup.get(var9);
               if (var10 == null) {
                  throw new IllegalArgumentException(String.format("Zone with name %s was not found for color %s!", var9, var4.getKey()));
               }

               Objects.requireNonNull(var10);
               var12[var8] = var10;
            }

            var1.add(var5, var12);
         } else {
            String var6 = var4.getValue().getAsString();
            Zone var7 = this.zoneLookup.get(var6);
            if (var7 == null) {
               throw new IllegalArgumentException(String.format("Zone with name %s was not found for color %s!", var6, var4.getKey()));
            }

            var1.add(var5, var7);
         }
      }

      class="kw">return var1;
   }

   class="kw">public class="kw">static void collectZones(Set<String> var0, @Nullable JsonElement var1) {
      if (var1 != null && var1.isJsonObject()) {
         JsonObject var2 = var1.getAsJsonObject();

         for (Entry var4 : var2.entrySet()) {
            if (var4.getValue().isJsonArray()) {
               for (JsonElement var6 : var4.getValue().getAsJsonArray()) {
                  var0.add(var6.getAsString());
               }
            } else {
               var0.add(var4.getValue().getAsString());
            }
         }
      }
   }
}