WIP: biome config

This commit is contained in:
Aleksey 2020-11-17 19:20:15 +03:00
parent 3ed2bd724c
commit e1a54d06cb
3 changed files with 18 additions and 161 deletions

View file

@ -48,10 +48,9 @@ public abstract class Config {
return str != null ? str : defaultValue;
}
@Nullable
public String getString(String category, String key) {
String str = configKeeper.getValue(category, key);
return str != null ? str : null;
return str != null ? str : "";
}
public boolean setString(String category, String key, String value) {

View file

@ -1,7 +1,5 @@
package ru.betterend.config;
import ru.betterend.config.ConfigKeeper.*;
public class MainConfig extends Config {
private static MainConfig instance;
@ -29,17 +27,7 @@ public class MainConfig extends Config {
}
@Override
protected void registerEntries() {
// this.configKeeper.registerEntry("add_armor_and_equipment", new BooleanEntry(true));
// this.configKeeper.registerEntry("add_terminite", new BooleanEntry(true));
// this.configKeeper.registerEntry("add_terminite_armor", new BooleanEntry(true));
// this.configKeeper.registerEntry("add_terminite_tools", new BooleanEntry(true));
// this.configKeeper.registerEntry("add_aeternuim", new BooleanEntry(true));
// this.configKeeper.registerEntry("add_aeternuim_armor", new BooleanEntry(true));
// this.configKeeper.registerEntry("add_aeternuim_tools", new BooleanEntry(true));
// this.configKeeper.registerEntry("add_pedestals", new BooleanEntry(true));
// this.configKeeper.registerEntry("add_hammers", new BooleanEntry(true));
}
protected void registerEntries() {}
@Override
public void saveChanges() {

View file

@ -2,21 +2,11 @@ package ru.betterend.world.biome;
import org.jetbrains.annotations.Nullable;
import com.google.gson.JsonObject;
import net.minecraft.util.Identifier;
import net.minecraft.util.JsonHelper;
import ru.betterend.BetterEnd;
import ru.betterend.config.Config;
import ru.betterend.config.ConfigWriter;
import ru.betterend.config.ConfigKeeper.BooleanEntry;
import ru.betterend.config.ConfigKeeper.Entry;
import ru.betterend.config.ConfigKeeper.FloatEntry;
import ru.betterend.config.ConfigKeeper.IntegerEntry;
import ru.betterend.config.ConfigKeeper.RangeEntry;
import ru.betterend.config.ConfigKeeper.StringEntry;
public class BiomeConfig extends Config {
@ -35,9 +25,7 @@ public class BiomeConfig extends Config {
}
@Override
protected void registerEntries() {
//TODO: Need to register config params in the Keeper
}
protected void registerEntries() {}
@Override
public void saveChanges() {
@ -52,181 +40,63 @@ public class BiomeConfig extends Config {
@Nullable
public <E extends Entry<?>> E getEntry(EndBiome biome, String key) {
return this.configKeeper.getEntry(getCategory(biome), key);
return this.getEntry(getCategory(biome), key);
}
@Nullable
public <T> T getDefault(EndBiome biome, String key) {
Entry<T> entry = configKeeper.getEntry(getCategory(biome), key);
return entry != null ? entry.getDefault() : null;
return this.getDefault(getCategory(biome), key);
}
public String getString(EndBiome biome, String key, String defaultValue) {
String category = this.getCategory(biome);
String str = configKeeper.getValue(category, key);
if (str == null) {
StringEntry entry = this.configKeeper.registerEntry(category, key, new StringEntry(defaultValue));
if (settings != null && settings.has(category)) {
JsonObject params = JsonHelper.getObject(settings, category);
key += " [default: " + defaultValue + "]";
if (params.has(key)) {
entry.fromString(JsonHelper.getString(params, key));
return entry.getValue();
}
}
}
return str != null ? str : defaultValue;
return this.getString(getCategory(biome), key, defaultValue);
}
@Nullable
public String getString(EndBiome biome, String key) {
String str = configKeeper.getValue(getCategory(biome), key);
return str != null ? str : null;
return this.getString(getCategory(biome), key);
}
public boolean setString(EndBiome biome, String key, String value) {
try {
String category = this.getCategory(biome);
StringEntry entry = configKeeper.getEntry(category, key);
if (entry == null) return false;
entry.setValue(value);
this.configKeeper.set(category, key, entry);
return true;
} catch (NullPointerException ex) {
BetterEnd.LOGGER.catching(ex);
}
return false;
return this.setString(getCategory(biome), key, value);
}
public int getInt(EndBiome biome, String key, int defaultValue) {
String category = this.getCategory(biome);
Integer val = configKeeper.getValue(category, key);
if (val == null) {
IntegerEntry entry = this.configKeeper.registerEntry(category, key, new IntegerEntry(defaultValue));
if (settings != null && settings.has(category)) {
JsonObject params = JsonHelper.getObject(settings, category);
key += " [default: " + defaultValue + "]";
if (params.has(key)) {
entry.fromString(JsonHelper.getString(params, key));
return entry.getValue();
}
}
}
return val != null ? val : defaultValue;
return this.getInt(getCategory(biome), key, defaultValue);
}
public int getInt(EndBiome biome, String key) {
Integer val = configKeeper.getValue(getCategory(biome), key);
return val != null ? val : 0;
return this.getInt(getCategory(biome), key);
}
public boolean setInt(EndBiome biome, String key, int value) {
try {
String category = this.getCategory(biome);
IntegerEntry entry = configKeeper.getEntry(category, key);
if (entry == null) return false;
entry.setValue(value);
this.configKeeper.set(category, key, entry);
return true;
} catch (NullPointerException ex) {
BetterEnd.LOGGER.catching(ex);
}
return false;
return this.setInt(getCategory(biome), key, value);
}
public <T extends Comparable<T>> boolean setRanged(EndBiome biome, String key, T value) {
try {
String category = this.getCategory(biome);
RangeEntry<T> entry = configKeeper.getEntry(category, key);
if (entry == null) return false;
entry.setValue(value);
this.configKeeper.set(category, key, entry);
return true;
} catch (NullPointerException | ClassCastException ex) {
BetterEnd.LOGGER.catching(ex);
}
return false;
return this.setRanged(getCategory(biome), key, value);
}
public float getFloat(EndBiome biome, String key, float defaultValue) {
String category = this.getCategory(biome);
Float val = configKeeper.getValue(category, key);
if (val == null) {
FloatEntry entry = this.configKeeper.registerEntry(category, key, new FloatEntry(defaultValue));
if (settings != null && settings.has(category)) {
JsonObject params = JsonHelper.getObject(settings, category);
key += " [default: " + defaultValue + "]";
if (params.has(key)) {
entry.fromString(JsonHelper.getString(params, key));
return entry.getValue();
}
}
}
return val != null ? val : defaultValue;
return this.getFloat(getCategory(biome), key, defaultValue);
}
public float getFloat(EndBiome biome, String key) {
Float val = configKeeper.getValue(getCategory(biome), key);
return val != null ? val : 0.0F;
return this.getFloat(getCategory(biome), key);
}
public boolean setFloat(EndBiome biome, String key, float value) {
try {
String category = this.getCategory(biome);
FloatEntry entry = configKeeper.getEntry(category, key);
if (entry == null) return false;
entry.setValue(value);
this.configKeeper.set(category, key, entry);
return true;
} catch (NullPointerException ex) {
BetterEnd.LOGGER.catching(ex);
}
return false;
return this.setFloat(getCategory(biome), key, value);
}
public boolean getBoolean(EndBiome biome, String key, boolean defaultValue) {
String category = this.getCategory(biome);
Boolean val = configKeeper.getValue(category, key);
if (val == null) {
BooleanEntry entry = this.configKeeper.registerEntry(category, key, new BooleanEntry(defaultValue));
if (settings != null && settings.has(category)) {
JsonObject params = JsonHelper.getObject(settings, category);
key += " [default: " + defaultValue + "]";
if (params.has(key)) {
entry.fromString(JsonHelper.getString(params, key));
return entry.getValue();
}
}
}
return val != null ? val : defaultValue;
return this.getBoolean(getCategory(biome), key, defaultValue);
}
public boolean getBoolean(EndBiome biome, String key) {
Boolean val = configKeeper.getValue(getCategory(biome), key);
return val != null ? val : false;
return this.getBoolean(getCategory(biome), key);
}
public boolean setBoolean(EndBiome biome, String key, boolean value) {
try {
String category = this.getCategory(biome);
BooleanEntry entry = configKeeper.getEntry(category, key);
if (entry == null) return false;
entry.setValue(value);
this.configKeeper.set(category, key, entry);
return true;
} catch (NullPointerException ex) {
BetterEnd.LOGGER.catching(ex);
}
return false;
return this.setBoolean(getCategory(biome), key, value);
}
}