Improve YMLWrapper

This commit is contained in:
2025-10-25 22:03:32 +02:00
parent 87a4836fa1
commit e6dea72024
4 changed files with 26 additions and 59 deletions
@@ -25,6 +25,7 @@ import java.io.File;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -55,13 +56,23 @@ public abstract class YMLWrapper<M, ST, W> {
public abstract String getDefaultGameName();
public abstract String getString(String path, String defaultValue);
public abstract <T> T get(String path, T defaultValue, Function<Object, T> mapper);
public abstract int getInt(String path, int defaultValue);
public String getString(String path, String defaultValue) {
return get(path, defaultValue, Objects::toString);
}
public abstract double getDouble(String path, double defaultValue);
public int getInt(String path, int defaultValue) {
return get(path, defaultValue, Integer.class::cast);
}
public abstract boolean getBoolean(String path, boolean defaultValue);
public double getDouble(String path, double defaultValue) {
return get(path, defaultValue, Double.class::cast);
}
public boolean getBoolean(String path, boolean defaultValue) {
return get(path, defaultValue, Boolean.class::cast);
}
public final ST getSchematicType(String path, String defaultValue) {
String schematicType = getString(path, defaultValue);