ZoneJsonLoader class
Пакет: com.hypixel.hytale.server.worldgen.loader.zone
Файл: com/hypixel/hytale/server/worldgen/loader/zone/ZoneJsonLoader.java
extends: JsonLoader<SeedStringResource, Zone>
Поля (47)
| Модификаторы | Тип | Имя |
|---|---|---|
|
String |
ERROR_BIOME_GENERATOR |
|
String |
ERROR_CAVE_GENERATOR |
|
String |
ERROR_CUSTOM_BIOMES |
|
String |
ERROR_TILE_BIOMES |
|
String |
ERROR_UNIQUE_PREFABS |
|
String |
KEY_BIOME_GENERATOR |
|
String |
KEY_DISCOVERY |
|
String |
KEY_DISCOVERY_DISPLAY |
|
String |
KEY_DISCOVERY_DURATION |
|
String |
KEY_DISCOVERY_FADE_IN_DURATION |
|
String |
KEY_DISCOVERY_FADE_OUT_DURATION |
|
String |
KEY_DISCOVERY_ICON |
|
String |
KEY_DISCOVERY_MAJOR |
|
String |
KEY_DISCOVERY_SOUND_EVENT_ID |
|
String |
KEY_DISCOVERY_ZONE |
|
String |
KEY_UNIQUE_PREFABS |
|
String |
PATH_CAVE |
|
String |
SEED_ZONE_SUFFIX |
|
JsonElement |
var1 |
|
IWeightedMap |
var1 |
|
JsonElement |
var10 |
|
Boolean |
var11 |
|
|
var11 |
|
JsonElement |
var12 |
|
Float |
var13 |
|
|
var13 |
|
JsonElement |
var14 |
|
Float |
var15 |
|
|
var15 |
|
JsonElement |
var16 |
|
Float |
var17 |
|
|
var17 |
|
JsonElement |
var18 |
|
JsonObject |
var2 |
|
TileBiome[] |
var2 |
|
Boolean |
var3 |
|
|
var3 |
|
CustomBiome[] |
var3 |
|
JsonElement |
var4 |
|
String |
var5 |
|
|
var5 |
|
JsonElement |
var6 |
|
String |
var7 |
|
|
var7 |
|
JsonElement |
var8 |
|
String |
var9 |
|
|
var9 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
Errorthrow new Error("Error while loading biome generator.", var5) |
abstract |
throw new |
Errorthrow new Error("Error while loading tile biomes.", var2) |
abstract |
throw new |
Errorthrow new Error("Error while loading custom biomes.", var3) |
abstract |
throw new |
Errorthrow new Error("Error while loading cave generator.", var2) |
abstract |
throw new |
Errorthrow new Error("Error while loading unique prefabs.", var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.loader.zone;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.google.gson.JsonObject;
class="kw">import com.hypixel.hytale.common.map.IWeightedMap;
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.biome.Biome;
class="kw">import com.hypixel.hytale.server.worldgen.biome.BiomePatternGenerator;
class="kw">import com.hypixel.hytale.server.worldgen.biome.CustomBiome;
class="kw">import com.hypixel.hytale.server.worldgen.biome.TileBiome;
class="kw">import com.hypixel.hytale.server.worldgen.cave.CaveGenerator;
class="kw">import com.hypixel.hytale.server.worldgen.container.UniquePrefabContainer;
class="kw">import com.hypixel.hytale.server.worldgen.loader.biome.BiomePatternGeneratorJsonLoader;
class="kw">import com.hypixel.hytale.server.worldgen.loader.cave.CaveGeneratorJsonLoader;
class="kw">import com.hypixel.hytale.server.worldgen.loader.container.UniquePrefabContainerJsonLoader;
class="kw">import com.hypixel.hytale.server.worldgen.loader.context.ZoneFileContext;
class="kw">import com.hypixel.hytale.server.worldgen.zone.Zone;
class="kw">import com.hypixel.hytale.server.worldgen.zone.ZoneDiscoveryConfig;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class ZoneJsonLoader class="kw">extends JsonLoader<SeedStringResource, Zone> {
@Nonnull
class="kw">protected class="kw">final ZoneFileContext zoneContext;
class="kw">public ZoneJsonLoader(@Nonnull SeedString<SeedStringResource> var1, @Nonnull Path var2, @Nonnull JsonElement var3, @Nonnull ZoneFileContext var4) {
super(var1.append(String.format(".Zone-%s", var4.getName())), var2, var3);
this.zoneContext = var4;
}
@Nonnull
class="kw">public Zone load() {
class="kw">return new Zone(
this.zoneContext.getId(),
this.zoneContext.getName(),
this.loadDiscoveryConfig(),
this.loadCaveGenerator(),
this.loadBiomePatternGenerator(),
this.loadUniquePrefabContainer()
);
}
@Nonnull
class="kw">protected ZoneDiscoveryConfig loadDiscoveryConfig() {
JsonElement var1 = this.get("Discovery");
if (var1 != null && var1.isJsonObject()) {
JsonObject var2 = var1.getAsJsonObject();
Boolean var3 = null;
JsonElement var4 = var2.get("Display");
if (var4 != null && !var4.isJsonNull()) {
var3 = var4.getAsBoolean();
}
String var5 = null;
JsonElement var6 = var2.get("ZoneName");
if (var6 != null && !var6.isJsonNull()) {
var5 = var6.getAsString();
}
String var7 = null;
JsonElement var8 = var2.get("SoundEventId");
if (var8 != null && !var8.isJsonNull()) {
var7 = var8.getAsString();
}
String var9 = null;
JsonElement var10 = var2.get("Icon");
if (var10 != null && !var10.isJsonNull()) {
var9 = var10.getAsString();
}
Boolean var11 = null;
JsonElement var12 = var2.get("Major");
if (var12 != null && !var12.isJsonNull()) {
var11 = var12.getAsBoolean();
}
Float var13 = null;
JsonElement var14 = var2.get("Duration");
if (var14 != null && !var14.isJsonNull()) {
var13 = var14.getAsFloat();
}
Float var15 = null;
JsonElement var16 = var2.get("FadeInDuration");
if (var16 != null && !var16.isJsonNull()) {
var15 = var16.getAsFloat();
}
Float var17 = null;
JsonElement var18 = var2.get("FadeOutDuration");
if (var18 != null && !var18.isJsonNull()) {
var17 = var18.getAsFloat();
}
class="kw">return ZoneDiscoveryConfig.of(var3, var5, var7, var9, var11, var13, var15, var17);
} else {
class="kw">return ZoneDiscoveryConfig.DEFAULT;
}
}
@Nonnull
class="kw">protected BiomePatternGenerator loadBiomePatternGenerator() {
IWeightedMap var1 = this.loadBiomes();
TileBiome[] var2 = var1.toArray();
CustomBiome[] var3 = this.loadCustomBiomes(var2);
try {
class="kw">return new BiomePatternGeneratorJsonLoader(this.seed, this.dataFolder, this.get("BiomeGenerator"), var1, var3).load();
} catch (Throwable var5) {
throw new Error("Error while loading biome generator.", var5);
}
}
@Nullable
class="kw">protected IWeightedMap<TileBiome> loadBiomes() {
try {
class="kw">return new ZoneBiomesJsonLoader(this.seed, this.dataFolder, this.get("BiomeGenerator"), this.zoneContext).load();
} catch (Throwable var2) {
throw new Error("Error while loading tile biomes.", var2);
}
}
@Nonnull
class="kw">protected CustomBiome[] loadCustomBiomes(@Nonnull Biome[] var1) {
try {
class="kw">return new ZoneCustomBiomesJsonLoader(this.seed, this.dataFolder, this.get("BiomeGenerator"), this.zoneContext, var1).load();
} catch (Throwable var3) {
throw new Error("Error while loading custom biomes.", var3);
}
}
@Nullable
class="kw">protected CaveGenerator loadCaveGenerator() {
try {
class="kw">return new CaveGeneratorJsonLoader(this.seed, this.dataFolder, this.json, this.zoneContext.getPath().resolve("Cave"), this.zoneContext).load();
} catch (Throwable var2) {
throw new Error("Error while loading cave generator.", var2);
}
}
@Nonnull
class="kw">protected UniquePrefabContainer loadUniquePrefabContainer() {
try {
class="kw">return new UniquePrefabContainerJsonLoader(this.seed, this.dataFolder, this.get("UniquePrefabs"), this.zoneContext).load();
} catch (Throwable var2) {
throw new Error("Error while loading unique prefabs.", var2);
}
}
class="kw">public class="kw">interface Constants {
String KEY_BIOME_GENERATOR = "BiomeGenerator";
String KEY_UNIQUE_PREFABS = "UniquePrefabs";
String KEY_DISCOVERY = "Discovery";
String KEY_DISCOVERY_DISPLAY = "Display";
String KEY_DISCOVERY_ZONE = "ZoneName";
String KEY_DISCOVERY_SOUND_EVENT_ID = "SoundEventId";
String KEY_DISCOVERY_ICON = "Icon";
String KEY_DISCOVERY_MAJOR = "Major";
String KEY_DISCOVERY_DURATION = "Duration";
String KEY_DISCOVERY_FADE_IN_DURATION = "FadeInDuration";
String KEY_DISCOVERY_FADE_OUT_DURATION = "FadeOutDuration";
String PATH_CAVE = "Cave";
String SEED_ZONE_SUFFIX = ".Zone-%s";
String ERROR_BIOME_GENERATOR = "Error while loading biome generator.";
String ERROR_TILE_BIOMES = "Error while loading tile biomes.";
String ERROR_CUSTOM_BIOMES = "Error while loading custom biomes.";
String ERROR_CAVE_GENERATOR = "Error while loading cave generator.";
String ERROR_UNIQUE_PREFABS = "Error while loading unique prefabs.";
}
}