classpublicPriority 3
CaveGeneratorJsonLoader
com.hypixel.hytale.server.worldgen.loader.cave.CaveGeneratorJsonLoader
extends JsonLoader
1
Methods
1
Public Methods
2
Fields
1
Constructors
Constructors
public
CaveGeneratorJsonLoader(SeedString<SeedStringResource> seed, Path dataFolder, JsonElement json, Path caveFolder, ZoneFileContext zoneContext)Methods
Public Methods (1)
public
CaveGenerator load()@Nullable
Fields
Protected Fields (2)
protected
Path caveFolderprotected
ZoneFileContext zoneContextInheritance
Parent
Current
Interface
Child
Use mouse wheel to zoom, drag to pan. Click nodes to navigate.
Related Classes
Source Code
package com.hypixel.hytale.server.worldgen.loader.cave;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.stream.JsonReader;
import com.hypixel.hytale.procedurallib.json.JsonLoader;
import com.hypixel.hytale.procedurallib.json.SeedString;
import com.hypixel.hytale.server.worldgen.SeedStringResource;
import com.hypixel.hytale.server.worldgen.cave.CaveGenerator;
import com.hypixel.hytale.server.worldgen.cave.CaveType;
import com.hypixel.hytale.server.worldgen.loader.context.ZoneFileContext;
import java.nio.file.Files;
import java.nio.file.Path;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public class CaveGeneratorJsonLoader extends JsonLoader<SeedStringResource, CaveGenerator> {
protected final Path caveFolder;
protected final ZoneFileContext zoneContext;
public CaveGeneratorJsonLoader(@Nonnull SeedString<SeedStringResource> seed, Path dataFolder, JsonElement json, Path caveFolder, ZoneFileContext zoneContext) {
super(seed.append(".CaveGenerator"), dataFolder, json);
this.caveFolder = caveFolder;
this.zoneContext = zoneContext;
}
@Nullable
public CaveGenerator load() {
CaveGenerator caveGenerator = null;
if (this.caveFolder != null && Files.exists(this.caveFolder)) {
Path file = this.caveFolder.resolve("Caves.json");
try {
JsonReader reader = new JsonReader(Files.newBufferedReader(file));
JsonObject cavesJson;
try {
cavesJson = JsonParser.parseReader(reader).getAsJsonObject();
} catch (Throwable var8) {
try {
reader.close();
} catch (Throwable var7) {
var8.addSuppressed(var7);
}
throw var8;
}
reader.close();
caveGenerator = new CaveGenerator(this.loadCaveTypes(cavesJson));
} catch (Throwable var9) {
throw new Error(String.format("Error while loading caves for world generator from %s", file.toString()), var9);
}
}
return caveGenerator;
}
@Nonnull
protected CaveType[] loadCaveTypes(@Nonnull JsonObject jsonObject) {
return new CaveTypesJsonLoader(this.seed, this.dataFolder, jsonObject.get("Types"), this.caveFolder, this.zoneContext).load();
}
public interface Constants {
String FILE_CAVES_JSON = "Caves.json";
String KEY_TYPES = "Types";
String ERROR_LOADING_CAVES = "Error while loading caves for world generator from %s";
}
}