43 lines
1.5 KiB
Java
43 lines
1.5 KiB
Java
package com.hypixel.hytale.server.worldgen.loader.climate;
|
|
|
|
import com.google.gson.JsonElement;
|
|
import com.hypixel.hytale.procedurallib.json.JsonLoader;
|
|
import com.hypixel.hytale.procedurallib.json.SeedResource;
|
|
import com.hypixel.hytale.procedurallib.json.SeedString;
|
|
import com.hypixel.hytale.server.worldgen.climate.ClimatePoint;
|
|
import java.nio.file.Path;
|
|
import javax.annotation.Nonnull;
|
|
import javax.annotation.Nullable;
|
|
|
|
public class ClimatePointJsonLoader<K extends SeedResource> extends JsonLoader<K, ClimatePoint> {
|
|
public ClimatePointJsonLoader(SeedString<K> seed, Path dataFolder, @Nullable JsonElement json) {
|
|
super(seed, dataFolder, json);
|
|
}
|
|
|
|
@Nonnull
|
|
public ClimatePoint load() {
|
|
return new ClimatePoint(this.loadTemperature(), this.loadIntensity(), this.loadModifier());
|
|
}
|
|
|
|
protected double loadTemperature() {
|
|
return this.mustGetNumber("Temperature", ClimatePointJsonLoader.Constants.DEFAULT_TEMPERATURE).doubleValue();
|
|
}
|
|
|
|
protected double loadIntensity() {
|
|
return this.mustGetNumber("Intensity", ClimatePointJsonLoader.Constants.DEFAULT_INTENSITY).doubleValue();
|
|
}
|
|
|
|
protected double loadModifier() {
|
|
return this.mustGetNumber("Modifier", ClimatePointJsonLoader.Constants.DEFAULT_MODIFIER).doubleValue();
|
|
}
|
|
|
|
public interface Constants {
|
|
String KEY_TEMPERATURE = "Temperature";
|
|
String KEY_INTENSITY = "Intensity";
|
|
String KEY_MODIFIER = "Modifier";
|
|
Double DEFAULT_TEMPERATURE = 0.5;
|
|
Double DEFAULT_INTENSITY = 0.5;
|
|
Double DEFAULT_MODIFIER = 1.0;
|
|
}
|
|
}
|