ZonesJsonLoader.java
package com.hypixel.hytale.server.worldgen.loader;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.google.gson.stream.JsonReader;
import com.hypixel.hytale.procedurallib.json.Loader;
import com.hypixel.hytale.procedurallib.json.SeedString;
import com.hypixel.hytale.server.worldgen.SeedStringResource;
import com.hypixel.hytale.server.worldgen.loader.context.FileContext;
import com.hypixel.hytale.server.worldgen.loader.context.FileLoadingContext;
import com.hypixel.hytale.server.worldgen.loader.context.ZoneFileContext;
import com.hypixel.hytale.server.worldgen.loader.zone.ZoneJsonLoader;
import com.hypixel.hytale.server.worldgen.zone.Zone;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Map;
import javax.annotation.Nonnull;
public class ZonesJsonLoader extends Loader<SeedStringResource, Zone[]> {
protected final FileLoadingContext loadingContext;
public ZonesJsonLoader(@Nonnull SeedString<SeedStringResource> seed, Path dataFolder, FileLoadingContext loadingContext) {
super(seed.append(".Zones"), dataFolder);
this.loadingContext = loadingContext;
}
@Nonnull
Zone[] load() {
FileContext.Registry<ZoneFileContext> zoneRegistry = .loadingContext.getZones();
;
Zone[] zones = [zoneRegistry.size()];
(Map.Entry<String, ZoneFileContext> zoneEntry : zoneRegistry) {
(ZoneFileContext)zoneEntry.getValue();
{
(Files.newBufferedReader(zoneContext.getPath().resolve()));
{
JsonParser.parseReader(reader);
( (.seed, .dataFolder, zoneJson, zoneContext)).load();
zones[index++] = zone;
} (Throwable var11) {
{
reader.close();
} (Throwable var10) {
var11.addSuppressed(var10);
}
var11;
}
reader.close();
} (Throwable e) {
(String.format(, zoneContext.getPath().toString()), e);
}
}
zones;
}
{
;
;
;
}
}