diff --git a/src/main/java/ru/betterend/config/CategoryConfig.java b/src/main/java/ru/betterend/config/CategoryConfig.java deleted file mode 100644 index 97833379..00000000 --- a/src/main/java/ru/betterend/config/CategoryConfig.java +++ /dev/null @@ -1,10 +0,0 @@ -package ru.betterend.config; - -public class CategoryConfig extends IdConfig { - - public CategoryConfig(String group) { - super(group, (id, category) -> { - return new ConfigKey(id.getPath(), id.getNamespace(), category); - }); - } -} diff --git a/src/main/java/ru/betterend/config/Config.java b/src/main/java/ru/betterend/config/Config.java deleted file mode 100644 index 1e8f3d3f..00000000 --- a/src/main/java/ru/betterend/config/Config.java +++ /dev/null @@ -1,154 +0,0 @@ -package ru.betterend.config; - -import org.jetbrains.annotations.Nullable; - -import ru.betterend.BetterEnd; -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 abstract class Config { - - protected final ConfigKeeper keeper; - - protected abstract void registerEntries(); - - public Config(String group) { - this.keeper = new ConfigKeeper(group); - this.registerEntries(); - } - - public void saveChanges() { - this.keeper.save(); - } - - @Nullable - public > E getEntry(ConfigKey key, Class type) { - return this.keeper.getEntry(key, type); - } - - @Nullable - public > T getDefault(ConfigKey key, Class type) { - Entry entry = keeper.getEntry(key, type); - return entry != null ? entry.getDefault() : null; - } - - protected String getString(ConfigKey key, String defaultValue) { - String str = keeper.getValue(key, StringEntry.class); - if (str == null) { - StringEntry entry = keeper.registerEntry(key, new StringEntry(defaultValue)); - return entry.getValue(); - } - return str != null ? str : defaultValue; - } - - protected String getString(ConfigKey key) { - String str = keeper.getValue(key, StringEntry.class); - return str != null ? str : ""; - } - - protected boolean setString(ConfigKey key, String value) { - try { - StringEntry entry = keeper.getEntry(key, StringEntry.class); - if (entry == null) return false; - entry.setValue(value); - return true; - } catch (NullPointerException ex) { - BetterEnd.LOGGER.catching(ex); - } - return false; - } - - protected int getInt(ConfigKey key, int defaultValue) { - Integer val = keeper.getValue(key, IntegerEntry.class); - if (val == null) { - IntegerEntry entry = keeper.registerEntry(key, new IntegerEntry(defaultValue)); - return entry.getValue(); - } - return val != null ? val : defaultValue; - } - - protected int getInt(ConfigKey key) { - Integer val = keeper.getValue(key, IntegerEntry.class); - return val != null ? val : 0; - } - - protected boolean setInt(ConfigKey key, int value) { - try { - IntegerEntry entry = keeper.getEntry(key, IntegerEntry.class); - if (entry == null) return false; - entry.setValue(value); - return true; - } catch (NullPointerException ex) { - BetterEnd.LOGGER.catching(ex); - } - return false; - } - - protected , RE extends RangeEntry> boolean setRanged(ConfigKey key, T value, Class type) { - try { - RangeEntry entry = keeper.getEntry(key, type); - if (entry == null) return false; - entry.setValue(value); - return true; - } catch (NullPointerException | ClassCastException ex) { - BetterEnd.LOGGER.catching(ex); - } - return false; - } - - protected float getFloat(ConfigKey key, float defaultValue) { - Float val = keeper.getValue(key, FloatEntry.class); - if (val == null) { - FloatEntry entry = keeper.registerEntry(key, new FloatEntry(defaultValue)); - return entry.getValue(); - } - return val; - } - - protected float getFloat(ConfigKey key) { - Float val = keeper.getValue(key, FloatEntry.class); - return val != null ? val : 0.0F; - } - - protected boolean setFloat(ConfigKey key, float value) { - try { - FloatEntry entry = keeper.getEntry(key, FloatEntry.class); - if (entry == null) return false; - entry.setValue(value); - return true; - } catch (NullPointerException ex) { - BetterEnd.LOGGER.catching(ex); - } - return false; - } - - protected boolean getBoolean(ConfigKey key, boolean defaultValue) { - Boolean val = keeper.getValue(key, BooleanEntry.class); - if (val == null) { - BooleanEntry entry = keeper.registerEntry(key, new BooleanEntry(defaultValue)); - return entry.getValue(); - } - return val; - } - - protected boolean getBoolean(ConfigKey key) { - Boolean val = keeper.getValue(key, BooleanEntry.class); - return val != null ? val : false; - } - - protected boolean setBoolean(ConfigKey key, boolean value) { - try { - BooleanEntry entry = keeper.getEntry(key, BooleanEntry.class); - if (entry == null) return false; - entry.setValue(value); - return true; - } catch (NullPointerException ex) { - BetterEnd.LOGGER.catching(ex); - } - return false; - } -} diff --git a/src/main/java/ru/betterend/config/ConfigKeeper.java b/src/main/java/ru/betterend/config/ConfigKeeper.java deleted file mode 100644 index ffd6ee5b..00000000 --- a/src/main/java/ru/betterend/config/ConfigKeeper.java +++ /dev/null @@ -1,318 +0,0 @@ -package ru.betterend.config; - -import java.lang.reflect.Type; -import java.util.Map; -import java.util.function.Consumer; -import java.util.function.Supplier; - -import org.jetbrains.annotations.Nullable; - -import com.google.common.collect.Maps; -import com.google.common.reflect.TypeToken; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; - -import net.minecraft.util.GsonHelper; -import ru.betterend.util.JsonFactory; - -public final class ConfigKeeper { - - private final Map> configEntries = Maps.newHashMap(); - private final JsonObject configObject; - private final ConfigWriter writer; - - private boolean changed = false; - - public ConfigKeeper(String group) { - this.writer = new ConfigWriter(group); - this.configObject = writer.load(); - } - - public void save() { - if (!changed) return; - this.writer.save(); - this.changed = false; - } - - private > void initializeEntry(ConfigKey key, E entry) { - if (configObject == null) { - return; - } - String[] path = key.getPath(); - JsonObject obj = configObject; - - if (!key.isRoot()) { - for (String group: path) { - JsonElement element = obj.get(group); - if (element == null || !element.isJsonObject()) { - element = new JsonObject(); - obj.add(group, element); - } - obj = element.getAsJsonObject(); - } - } - - String paramKey = key.getEntry(); - paramKey += " [default: " + entry.getDefault() + "]"; - - this.changed |= entry.setLocation(obj, paramKey); - } - - private > void storeValue(E entry, T value) { - if (configObject == null) { - return; - } - T val = entry.getValue(); - if (value.equals(val)) return; - entry.toJson(value); - this.changed = true; - } - - private > T getValue(E entry) { - if (!entry.hasLocation()) { - return entry.getDefault(); - } - return entry.fromJson(); - } - - @Nullable - public > E getEntry(ConfigKey key, Class type) { - Entry entry = this.configEntries.get(key); - if (type.isInstance(entry)) { - return type.cast(entry); - } - return null; - } - - @Nullable - public > T getValue(ConfigKey key, Class type) { - Entry entry = this.getEntry(key, type); - if (entry == null) { - return null; - } - return entry.getValue(); - } - - public > E registerEntry(ConfigKey key, E entry) { - entry.setWriter(value -> this.storeValue(entry, value)); - entry.setReader(() -> { return this.getValue(entry); }); - this.initializeEntry(key, entry); - this.configEntries.put(key, entry); - return entry; - } - - public static class BooleanEntry extends Entry { - - public BooleanEntry(Boolean defaultValue) { - super(defaultValue); - } - - @Override - public Boolean fromJson() { - return GsonHelper.getAsBoolean(location, key, defaultValue); - } - - @Override - public void toJson(Boolean value) { - this.location.addProperty(key, value); - } - } - - public static class FloatEntry extends Entry { - - public FloatEntry(Float defaultValue) { - super(defaultValue); - } - - @Override - public Float fromJson() { - return GsonHelper.getAsFloat(location, key, defaultValue); - } - - @Override - public void toJson(Float value) { - this.location.addProperty(key, value); - } - } - - public static class FloatRange extends RangeEntry { - - public FloatRange(Float defaultValue, float minVal, float maxVal) { - super(defaultValue, minVal, maxVal); - } - - @Override - public Float fromJson() { - return GsonHelper.getAsFloat(location, key, defaultValue); - } - - @Override - public void toJson(Float value) { - this.location.addProperty(key, value); - } - } - - public static class IntegerEntry extends Entry { - - public IntegerEntry(Integer defaultValue) { - super(defaultValue); - } - - @Override - public Integer getDefault() { - return this.defaultValue; - } - - @Override - public Integer fromJson() { - return GsonHelper.getAsInt(location, key, defaultValue); - } - - @Override - public void toJson(Integer value) { - this.location.addProperty(key, value); - } - } - - public static class IntegerRange extends RangeEntry { - - public IntegerRange(Integer defaultValue, int minVal, int maxVal) { - super(defaultValue, minVal, maxVal); - } - - @Override - public Integer fromJson() { - return GsonHelper.getAsInt(location, key, defaultValue); - } - - @Override - public void toJson(Integer value) { - this.location.addProperty(key, value); - } - } - - public static class StringEntry extends Entry { - - public StringEntry(String defaultValue) { - super(defaultValue); - } - - @Override - public String fromJson() { - return GsonHelper.getAsString(location, key, defaultValue); - } - - @Override - public void toJson(String value) { - this.location.addProperty(key, value); - } - - } - - public static class EnumEntry> extends Entry { - - private final Type type; - - public EnumEntry(T defaultValue) { - super(defaultValue); - TypeToken token = new TypeToken(){ - private static final long serialVersionUID = 1L; - }; - this.type = token.getType(); - } - - @Override - public T getDefault() { - return this.defaultValue; - } - - @Override - public T fromJson() { - return JsonFactory.GSON.fromJson(location.get(key), type); - } - - @Override - public void toJson(T value) { - location.addProperty(key, JsonFactory.GSON.toJson(value, type)); - } - } - - public static abstract class RangeEntry> extends Entry { - - private final T min, max; - - public RangeEntry(T defaultValue, T minVal, T maxVal) { - super(defaultValue); - this.min = minVal; - this.max = maxVal; - } - - @Override - public void setValue(T value) { - super.setValue(value.compareTo(min) < 0 ? min : value.compareTo(max) > 0 ? max : value); - } - - public T minValue() { - return this.min; - } - - public T maxValue() { - return this.max; - } - } - - public static abstract class Entry { - - protected final T defaultValue; - protected Consumer writer; - protected Supplier reader; - protected JsonObject location; - protected String key; - - public abstract T fromJson(); - public abstract void toJson(T value); - - public Entry (T defaultValue) { - this.defaultValue = defaultValue; - } - - protected void setWriter(Consumer writer) { - this.writer = writer; - } - - protected void setReader(Supplier reader) { - this.reader = reader; - } - - protected boolean setLocation(JsonObject location, String key) { - this.location = location; - this.key = key; - if (!location.has(key)) { - this.toJson(defaultValue); - return true; - } - return false; - } - - protected boolean hasLocation() { - return this.location != null && - this.key != null; - } - - public T getValue() { - return this.reader.get(); - } - - public void setValue(T value) { - this.writer.accept(value); - } - - public T getDefault() { - return this.defaultValue; - } - - public void setDefault() { - this.setValue(defaultValue); - } - } -} diff --git a/src/main/java/ru/betterend/config/ConfigKey.java b/src/main/java/ru/betterend/config/ConfigKey.java deleted file mode 100644 index de970d51..00000000 --- a/src/main/java/ru/betterend/config/ConfigKey.java +++ /dev/null @@ -1,85 +0,0 @@ -package ru.betterend.config; - -import net.minecraft.resources.ResourceLocation; - -public class ConfigKey { - private final String path[]; - private final String entry; - private final boolean root; - - public ConfigKey(String entry, String... path) { - this.validate(entry); - this.path = path; - this.entry = entry; - this.root = path.length == 0 || (path.length == 1 && path[0].isEmpty()); - } - - public ConfigKey(String entry, ResourceLocation path) { - this(entry, path.getNamespace(), path.getPath()); - } - - public String[] getPath() { - return path; - } - - public String getEntry() { - return entry; - } - - public boolean isRoot() { - return root; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + path.hashCode(); - result = prime * result + entry.hashCode(); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof ConfigKey)) { - return false; - } - ConfigKey other = (ConfigKey) obj; - if (other.path.length != path.length) { - return false; - } - for (int i = 0; i < path.length; i++) { - if (!path[i].equals(other.path[i])) { - return false; - } - } - if (!entry.equals(other.entry)) { - return false; - } - return true; - } - - @Override - public String toString() { - if (root) { - return String.format("[root]:%s", entry); - } - String p = path[0]; - for (int i = 1; i < path.length; i++) { - p += "." + path[i]; - } - return String.format("%s:%s", p, entry); - } - - private void validate(String entry) { - if (entry == null) { - throw new NullPointerException("Config key must be not null!"); - } - if (entry.isEmpty()) { - throw new IndexOutOfBoundsException("Config key must be not empty!"); - } - } -} diff --git a/src/main/java/ru/betterend/config/ConfigWriter.java b/src/main/java/ru/betterend/config/ConfigWriter.java deleted file mode 100644 index 438417e8..00000000 --- a/src/main/java/ru/betterend/config/ConfigWriter.java +++ /dev/null @@ -1,69 +0,0 @@ -package ru.betterend.config; - -import java.io.File; -import java.nio.file.Path; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; - -import net.fabricmc.loader.api.FabricLoader; -import ru.betterend.BetterEnd; -import ru.betterend.util.JsonFactory; - -public class ConfigWriter { - - private final static Path GAME_CONFIG_DIR = FabricLoader.getInstance().getConfigDir(); - public final static File MOD_CONFIG_DIR = new File(GAME_CONFIG_DIR.toFile(), BetterEnd.MOD_ID); - - private final File configFile; - private JsonObject configObject; - - public ConfigWriter(String configFile) { - this.configFile = new File(MOD_CONFIG_DIR, configFile + ".json"); - this.load(); - } - - public JsonObject getConfig() { - return configObject; - } - - public void save() { - if (configObject == null) { - return; - } - save(configFile, configObject); - } - - public JsonObject load() { - if (configObject == null) { - configObject = load(configFile); - } - return configObject; - } - - public void save(JsonElement config) { - this.configObject = config.getAsJsonObject(); - save(configFile, config); - } - - public static JsonObject load(File configFile) { - return JsonFactory.getJsonObject(configFile); - } - - public static void save(File configFile, JsonElement config) { - JsonFactory.storeJson(configFile, config); - } - - public static String scrubFileName(String input) { - input = input.replaceAll("[/\\ ]+", "_"); - input = input.replaceAll("[,:&\"\\|\\<\\>\\?\\*]", "_"); - - return input; - } - - static { - if (!MOD_CONFIG_DIR.exists()) { - MOD_CONFIG_DIR.mkdirs(); - } - } -} diff --git a/src/main/java/ru/betterend/config/Configs.java b/src/main/java/ru/betterend/config/Configs.java index f1bc46e5..f7215069 100644 --- a/src/main/java/ru/betterend/config/Configs.java +++ b/src/main/java/ru/betterend/config/Configs.java @@ -2,18 +2,21 @@ package ru.betterend.config; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import ru.bclib.config.EntryConfig; +import ru.bclib.config.IdConfig; +import ru.bclib.config.PathConfig; import ru.betterend.BetterEnd; public class Configs { - public static final PathConfig ENTITY_CONFIG = new PathConfig("entities"); - public static final PathConfig BLOCK_CONFIG = new PathConfig("blocks"); - public static final PathConfig ITEM_CONFIG = new PathConfig("items"); - public static final IdConfig BIOME_CONFIG = new EntryConfig("biomes"); - public static final PathConfig GENERATOR_CONFIG = new PathConfig("generator"); - public static final PathConfig RECIPE_CONFIG = new PathConfig("recipes"); + public static final PathConfig ENTITY_CONFIG = new PathConfig(BetterEnd.MOD_ID, "entities"); + public static final PathConfig BLOCK_CONFIG = new PathConfig(BetterEnd.MOD_ID, "blocks"); + public static final PathConfig ITEM_CONFIG = new PathConfig(BetterEnd.MOD_ID, "items"); + public static final IdConfig BIOME_CONFIG = new EntryConfig(BetterEnd.MOD_ID, "biomes"); + public static final PathConfig GENERATOR_CONFIG = new PathConfig(BetterEnd.MOD_ID, "generator"); + public static final PathConfig RECIPE_CONFIG = new PathConfig(BetterEnd.MOD_ID, "recipes"); @Environment(value = EnvType.CLIENT) - public static final PathConfig CLENT_CONFIG = new PathConfig("client"); + public static final PathConfig CLENT_CONFIG = new PathConfig(BetterEnd.MOD_ID, "client"); public static void saveConfigs() { ENTITY_CONFIG.saveChanges(); diff --git a/src/main/java/ru/betterend/config/EntryConfig.java b/src/main/java/ru/betterend/config/EntryConfig.java deleted file mode 100644 index 44ed19a2..00000000 --- a/src/main/java/ru/betterend/config/EntryConfig.java +++ /dev/null @@ -1,10 +0,0 @@ -package ru.betterend.config; - -public class EntryConfig extends IdConfig { - - public EntryConfig(String group) { - super(group, (id, entry) -> { - return new ConfigKey(entry, id); - }); - } -} diff --git a/src/main/java/ru/betterend/config/IdConfig.java b/src/main/java/ru/betterend/config/IdConfig.java deleted file mode 100644 index 9bef635e..00000000 --- a/src/main/java/ru/betterend/config/IdConfig.java +++ /dev/null @@ -1,93 +0,0 @@ -package ru.betterend.config; - -import java.util.function.BiFunction; - -import org.jetbrains.annotations.Nullable; - -import net.minecraft.resources.ResourceLocation; -import ru.betterend.config.ConfigKeeper.Entry; -import ru.betterend.config.ConfigKeeper.FloatRange; -import ru.betterend.config.ConfigKeeper.IntegerRange; - -public class IdConfig extends Config { - - protected final BiFunction keyFactory; - - public IdConfig(String group, BiFunction keyFactory) { - super(group); - this.keyFactory = keyFactory; - } - - @Override - protected void registerEntries() {} - - protected ConfigKey createKey(ResourceLocation id, String key) { - return this.keyFactory.apply(id, key); - } - - @Nullable - public > E getEntry(ResourceLocation id, String key, Class type) { - return this.getEntry(createKey(id, key), type); - } - - @Nullable - public > T getDefault(ResourceLocation id, String key, Class type) { - return this.getDefault(createKey(id, key), type); - } - - public String getString(ResourceLocation id, String key, String defaultValue) { - return this.getString(createKey(id, key), defaultValue); - } - - public String getString(ResourceLocation id, String key) { - return this.getString(createKey(id, key)); - } - - public boolean setString(ResourceLocation id, String key, String value) { - return this.setString(createKey(id, key), value); - } - - public int getInt(ResourceLocation id, String key, int defaultValue) { - return this.getInt(createKey(id, key), defaultValue); - } - - public int getInt(ResourceLocation id, String key) { - return this.getInt(createKey(id, key)); - } - - public boolean setInt(ResourceLocation id, String key, int value) { - return this.setInt(createKey(id, key), value); - } - - public boolean setRangedInt(ResourceLocation id, String key, int value) { - return this.setRanged(createKey(id, key), value, IntegerRange.class); - } - - public boolean setRangedFloat(ResourceLocation id, String key, float value) { - return this.setRanged(createKey(id, key), value, FloatRange.class); - } - - public float getFloat(ResourceLocation id, String key, float defaultValue) { - return this.getFloat(createKey(id, key), defaultValue); - } - - public float getFloat(ResourceLocation id, String key) { - return this.getFloat(createKey(id, key)); - } - - public boolean setFloat(ResourceLocation id, String key, float value) { - return this.setFloat(createKey(id, key), value); - } - - public boolean getBoolean(ResourceLocation id, String key, boolean defaultValue) { - return this.getBoolean(createKey(id, key), defaultValue); - } - - public boolean getBoolean(ResourceLocation id, String key) { - return this.getBoolean(createKey(id, key)); - } - - public boolean setBoolean(ResourceLocation id, String key, boolean value) { - return this.setBoolean(createKey(id, key), value); - } -} diff --git a/src/main/java/ru/betterend/config/PathConfig.java b/src/main/java/ru/betterend/config/PathConfig.java deleted file mode 100644 index dc3db652..00000000 --- a/src/main/java/ru/betterend/config/PathConfig.java +++ /dev/null @@ -1,149 +0,0 @@ -package ru.betterend.config; - -import org.jetbrains.annotations.Nullable; - -import ru.betterend.config.ConfigKeeper.Entry; -import ru.betterend.config.ConfigKeeper.FloatRange; -import ru.betterend.config.ConfigKeeper.IntegerRange; - -public class PathConfig extends Config { - - public PathConfig(String group) { - super(group); - } - - @Override - protected void registerEntries() {} - - protected ConfigKey createKey(String category, String key) { - return new ConfigKey(key, category.split("\\.")); - } - - protected ConfigKey createKey(String key) { - return createKey("", key); - } - - @Nullable - public > E getEntry(String category, String key, Class type) { - return this.getEntry(createKey(category, key), type); - } - - @Nullable - public > T getDefault(String category, String key, Class type) { - return this.getDefault(createKey(category, key), type); - } - - public String getString(String category, String key, String defaultValue) { - return this.getString(createKey(category, key), defaultValue); - } - - public String getString(String category, String key) { - return this.getString(createKey(category, key)); - } - - public boolean setString(String category, String key, String value) { - return this.setString(createKey(category, key), value); - } - - public int getInt(String category, String key, int defaultValue) { - return this.getInt(createKey(category, key), defaultValue); - } - - public int getInt(String category, String key) { - return this.getInt(createKey(category, key)); - } - - public boolean setInt(String category, String key, int value) { - return this.setInt(createKey(category, key), value); - } - - public boolean setRangedInt(String category, String key, int value) { - return this.setRanged(createKey(category, key), value, IntegerRange.class); - } - - public boolean setRangedFloat(String category, String key, float value) { - return this.setRanged(createKey(category, key), value, FloatRange.class); - } - - public float getFloat(String category, String key, float defaultValue) { - return this.getFloat(createKey(category, key), defaultValue); - } - - public float getFloat(String category, String key) { - return this.getFloat(createKey(category, key)); - } - - public boolean setFloat(String category, String key, float value) { - return this.setFloat(createKey(category, key), value); - } - - public boolean getBoolean(String category, String key, boolean defaultValue) { - return this.getBoolean(createKey(category, key), defaultValue); - } - - public boolean getBoolean(String category, String key) { - return this.getBoolean(createKey(category, key)); - } - - public boolean setBoolean(String category, String key, boolean value) { - return this.setBoolean(createKey(category, key), value); - } - - // From Root - - public String getStringRoot(String key, String defaultValue) { - return this.getString(createKey(key), defaultValue); - } - - public String getStringRoot(String key) { - return this.getString(createKey(key)); - } - - public boolean setStringRoot(String key, String value) { - return this.setString(createKey(key), value); - } - - public int getIntRoot(String key, int defaultValue) { - return this.getInt(createKey(key), defaultValue); - } - - public int getIntRoot(String key) { - return this.getInt(createKey(key)); - } - - public boolean setIntRoot(String key, int value) { - return this.setInt(createKey(key), value); - } - - public boolean setRangedIntRoot(String key, int value) { - return this.setRanged(createKey(key), value, IntegerRange.class); - } - - public boolean setRangedFloatRoot(String key, float value) { - return this.setRanged(createKey(key), value, FloatRange.class); - } - - public float getFloatRoot(String key, float defaultValue) { - return this.getFloat(createKey(key), defaultValue); - } - - public float getFloatRoot(String key) { - return this.getFloat(createKey(key)); - } - - public boolean setFloatRoot(String key, float value) { - return this.setFloat(createKey(key), value); - } - - public boolean getBooleanRoot(String key, boolean defaultValue) { - return this.getBoolean(createKey(key), defaultValue); - } - - public boolean getBooleanRoot(String key) { - return this.getBoolean(createKey(key)); - } - - public boolean setBooleanRoot(String key, boolean value) { - return this.setBoolean(createKey(key), value); - } -} diff --git a/src/main/java/ru/betterend/registry/EndPortals.java b/src/main/java/ru/betterend/registry/EndPortals.java index 78fe9751..2973b015 100644 --- a/src/main/java/ru/betterend/registry/EndPortals.java +++ b/src/main/java/ru/betterend/registry/EndPortals.java @@ -5,6 +5,7 @@ import java.io.File; import com.google.gson.JsonArray; import com.google.gson.JsonObject; +import net.fabricmc.loader.api.FabricLoader; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerLevel; @@ -12,7 +13,6 @@ import net.minecraft.world.level.Level; import ru.bclib.util.ColorUtil; import ru.bclib.util.MHelper; import ru.betterend.BetterEnd; -import ru.betterend.config.ConfigWriter; import ru.betterend.util.JsonFactory; public class EndPortals { @@ -22,7 +22,7 @@ public class EndPortals { private static PortalInfo[] portals; public static void loadPortals() { - File file = new File(ConfigWriter.MOD_CONFIG_DIR, "portals.json"); + File file = new File(FabricLoader.getInstance().getConfigDir().toString(), "betterend/portals.json"); JsonObject json; if (!file.exists()) { file.getParentFile().mkdirs(); diff --git a/src/main/java/ru/betterend/world/generator/LayerOptions.java b/src/main/java/ru/betterend/world/generator/LayerOptions.java index 9c57bd3c..03c6ecab 100644 --- a/src/main/java/ru/betterend/world/generator/LayerOptions.java +++ b/src/main/java/ru/betterend/world/generator/LayerOptions.java @@ -1,7 +1,7 @@ package ru.betterend.world.generator; import net.minecraft.util.Mth; -import ru.betterend.config.PathConfig; +import ru.bclib.config.PathConfig; public class LayerOptions { public final float distance;