PrefabCaveNodeShapeGeneratorJsonLoader class
Пакет: com.hypixel.hytale.server.worldgen.loader.cave.shape
Файл: com/hypixel/hytale/server/worldgen/loader/cave/shape/PrefabCaveNodeShapeGeneratorJsonLoader.java
extends: CaveNodeShapeGeneratorJsonLoader
Поля (9)
| Модификаторы | Тип | Имя |
|---|---|---|
|
String |
KEY_MASK |
|
String |
KEY_PREFAB |
|
WorldGenPrefabLoader |
var1 |
|
BlockMaskCondition |
var1 |
|
|
var1 |
|
List |
var2 |
|
JsonElement |
var3 |
|
String |
var7 |
|
String |
var8 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("Prefabs are empty! 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";
}
}