Constants interface

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

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

Поля (2)

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

Исходный код

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

class="kw">import com.google.gson.JsonElement;
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.shape.PrefabCaveNodeShape;
class="kw">import com.hypixel.hytale.server.worldgen.loader.WorldGenPrefabLoader;
class="kw">import com.hypixel.hytale.server.worldgen.loader.WorldGenPrefabSupplier;
class="kw">import com.hypixel.hytale.server.worldgen.loader.prefab.BlockPlacementMaskJsonLoader;
class="kw">import com.hypixel.hytale.server.worldgen.util.condition.BlockMaskCondition;
class="kw">import java.nio.file.Path;
class="kw">import java.util.ArrayList;
class="kw">import java.util.Collections;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class PrefabCaveNodeShapeGeneratorJsonLoader class="kw">extends CaveNodeShapeGeneratorJsonLoader {
   class="kw">public PrefabCaveNodeShapeGeneratorJsonLoader(@Nonnull SeedString<SeedStringResource> var1, Path var2, JsonElement var3) {
      super(var1.append(".PrefabCaveNodeShapeGenerator"), var2, var3);
   }

   @Nonnull
   class="kw">public PrefabCaveNodeShape.PrefabCaveNodeShapeGenerator load() {
      class="kw">return new PrefabCaveNodeShape.PrefabCaveNodeShapeGenerator(this.loadPrefabs(), this.loadMask());
   }

   @Nonnull
   class="kw">protected List<WorldGenPrefabSupplier> loadPrefabs() {
      WorldGenPrefabLoader var1 = this.seed.get().getLoader();
      List var2 = new ArrayList<>();
      JsonElement var3 = this.get("Prefab");
      if (var3.isJsonArray()) {
         for (JsonElement var6 : var3.getAsJsonArray()) {
            String var7 = var6.getAsString();
            Collections.addAll(var2, var1.get(var7));
         }
      } else {
         String var8 = var3.getAsString();
         Collections.addAll(var2, var1.get(var8));
      }

      if (var2.isEmpty()) {
         throw new IllegalArgumentException("Prefabs are empty! Key: Prefab");
      } else {
         class="kw">return var2;
      }
   }

   @Nullable
   class="kw">protected BlockMaskCondition loadMask() {
      BlockMaskCondition var1 = BlockMaskCondition.DEFAULT_TRUE;
      if (this.has("Mask")) {
         var1 = new BlockPlacementMaskJsonLoader(this.seed, this.dataFolder, this.getRaw("Mask")).load();
      }

      class="kw">return var1;
   }

   class="kw">public class="kw">interface Constants {
      String KEY_PREFAB = "Prefab";
      String KEY_MASK = "Mask";
   }
}