FluidLevelJsonLoader class
Пакет: com.hypixel.hytale.server.worldgen.loader.cave
Файл: com/hypixel/hytale/server/worldgen/loader/cave/FluidLevelJsonLoader.java
extends: JsonLoader<SeedStringResource, CaveType.FluidLevel>
Поля (15)
| Модификаторы | Тип | Имя |
|---|---|---|
|
String |
ERROR_NO_BLOCK |
|
String |
ERROR_UNKOWN_BLOCK |
|
String |
ERROR_UNKOWN_FLUID |
|
String |
KEY_BLOCK |
|
String |
KEY_FLUID |
|
String |
KEY_HEIGHT |
|
int |
var1 |
|
|
var1 |
|
int |
var2 |
|
|
var2 |
|
int |
var3 |
|
|
var3 |
|
String |
var4 |
|
BlockPattern.BlockEntry |
var5 |
|
String |
var6 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("Could not find block to use in FluidLevel container. Keyword: Block") |
|
|
if if(var1 == Integer.MIN_VALUE) |
|
|
if if(var3 == Integer.MIN_VALUE) |
protected |
int |
loadHeightint loadHeight() |
abstract |
|
super super(var1, var2, var3) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.loader.cave;
class="kw">import com.google.gson.JsonElement;
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.core.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.asset.type.fluid.Fluid;
class="kw">import com.hypixel.hytale.server.core.prefab.selection.mask.BlockPattern;
class="kw">import com.hypixel.hytale.server.worldgen.SeedStringResource;
class="kw">import com.hypixel.hytale.server.worldgen.cave.CaveType;
class="kw">import com.hypixel.hytale.server.worldgen.util.BlockFluidEntry;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">public class FluidLevelJsonLoader class="kw">extends JsonLoader<SeedStringResource, CaveType.FluidLevel> {
class="kw">public FluidLevelJsonLoader(SeedString<SeedStringResource> var1, Path var2, JsonElement var3) {
super(var1, var2, var3);
}
@Nonnull
class="kw">public CaveType.FluidLevel load() {
int var1 = 0;
int var2 = 0;
int var3 = 0;
if (this.has("Block")) {
String var4 = this.get("Block").getAsString();
BlockPattern.BlockEntry var5 = BlockPattern.BlockEntry.decode(var4);
var1 = BlockType.getAssetMap().getIndex(var5.blockTypeKey());
if (var1 == Integer.MIN_VALUE) {
throw new Error(String.format("Could not resolve block \"%s\" from BlockTypes.", var4));
}
var2 = var5.rotation();
}
if (this.has("Fluid")) {
String var6 = this.get("Fluid").getAsString();
var3 = Fluid.getAssetMap().getIndex(var6);
if (var3 == Integer.MIN_VALUE) {
throw new Error(String.format("Could not resolve fluid \"%s\" from Fluids.", var6));
}
}
if (!this.has("Block") && !this.has("Fluid")) {
throw new IllegalArgumentException("Could not find block to use in FluidLevel container. Keyword: Block");
} else {
class="kw">return new CaveType.FluidLevel(new BlockFluidEntry(var1, var2, var3), this.loadHeight());
}
}
class="kw">protected int loadHeight() {
class="kw">return this.get("Height").getAsInt();
}
class="kw">public class="kw">interface Constants {
String KEY_HEIGHT = "Height";
String KEY_BLOCK = "Block";
String KEY_FLUID = "Fluid";
String ERROR_NO_BLOCK = "Could not find block to use in FluidLevel container. Keyword: Block";
String ERROR_UNKOWN_BLOCK = "Could not resolve block \"%s\" from BlockTypes.";
String ERROR_UNKOWN_FLUID = "Could not resolve fluid \"%s\" from Fluids.";
}
}