From 2393c489136ffbec7b59db67fe09a84b232b2a59 Mon Sep 17 00:00:00 2001 From: JFronny Date: Thu, 10 Jun 2021 16:07:22 +0200 Subject: [PATCH] Move some things around --- gradle.properties | 2 +- .../jfronny/respackopts/Respackopts.java | 9 ++++----- .../abstractions/JfConfigCategory.java | 7 ------- .../data/{in => }/LegacyConfig.java | 2 +- .../data/{in => }/Respackmeta.java | 4 ++-- .../respackopts/data/{in => }/Rpo.java | 2 +- .../jfronny/respackopts/data/RpoError.java | 7 +++++++ .../data/{ => entry}/ConfigBooleanEntry.java | 2 +- .../data/{ => entry}/ConfigBranch.java | 20 ++++++++++--------- .../data/{ => entry}/ConfigEnumEntry.java | 2 +- .../data/{ => entry}/ConfigNumericEntry.java | 2 +- .../respackopts/data/{ => entry}/Entry.java | 2 +- .../data/{ => entry}/SyncMode.java | 2 +- .../FileOpenProvider.java | 2 +- .../filters/conditions/AndCondition.java | 5 +++-- .../filters/conditions/Condition.java | 3 ++- .../conditions/ConditionEvaluator.java | 17 ++++++++-------- .../filters/conditions/EqualityCondition.java | 5 +++-- .../filters/conditions/NorCondition.java | 5 +++-- .../filters/conditions/OrCondition.java | 5 +++-- .../conditions/ResourcePackFilter.java | 4 ++-- .../filters/conditions/SyntaxError.java | 7 ------- .../filters/conditions/XorCondition.java | 5 +++-- .../filters/fallback/FallbackFilter.java | 4 ++-- .../gson/BooleanEntrySerializer.java | 2 +- .../gson/ConfigBranchSerializer.java | 2 +- .../respackopts/gson/EnumEntrySerializer.java | 2 +- .../gson/LegacyConfigDeserializer.java | 9 ++++----- .../gson/NumericEntrySerializer.java | 2 +- .../respackopts/{ => gui}/GuiFactory.java | 11 +++++----- .../gui/abstractions/JfConfigCategory.java | 7 +++++++ .../abstractions/JfConfigCategoryPrimary.java | 5 ++--- .../abstractions/JfConfigCategorySub.java | 5 ++--- .../respackopts/integration/FrexCompat.java | 8 ++++---- .../integration/ModMenuCompat.java | 2 +- .../mixin/ResourcePackEntryMixin.java | 4 ++-- .../mixin/ResourcePackManagerMixin.java | 4 ++-- src/main/resources/respackopts.mixins.json | 3 +-- 38 files changed, 98 insertions(+), 93 deletions(-) delete mode 100644 src/main/java/io/gitlab/jfronny/respackopts/abstractions/JfConfigCategory.java rename src/main/java/io/gitlab/jfronny/respackopts/data/{in => }/LegacyConfig.java (79%) rename src/main/java/io/gitlab/jfronny/respackopts/data/{in => }/Respackmeta.java (51%) rename src/main/java/io/gitlab/jfronny/respackopts/data/{in => }/Rpo.java (76%) create mode 100644 src/main/java/io/gitlab/jfronny/respackopts/data/RpoError.java rename src/main/java/io/gitlab/jfronny/respackopts/data/{ => entry}/ConfigBooleanEntry.java (83%) rename src/main/java/io/gitlab/jfronny/respackopts/data/{ => entry}/ConfigBranch.java (88%) rename src/main/java/io/gitlab/jfronny/respackopts/data/{ => entry}/ConfigEnumEntry.java (96%) rename src/main/java/io/gitlab/jfronny/respackopts/data/{ => entry}/ConfigNumericEntry.java (94%) rename src/main/java/io/gitlab/jfronny/respackopts/data/{ => entry}/Entry.java (95%) rename src/main/java/io/gitlab/jfronny/respackopts/data/{ => entry}/SyncMode.java (90%) rename src/main/java/io/gitlab/jfronny/respackopts/{abstractions => filters}/FileOpenProvider.java (74%) delete mode 100644 src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/SyntaxError.java rename src/main/java/io/gitlab/jfronny/respackopts/{ => gui}/GuiFactory.java (93%) create mode 100644 src/main/java/io/gitlab/jfronny/respackopts/gui/abstractions/JfConfigCategory.java rename src/main/java/io/gitlab/jfronny/respackopts/{ => gui}/abstractions/JfConfigCategoryPrimary.java (71%) rename src/main/java/io/gitlab/jfronny/respackopts/{ => gui}/abstractions/JfConfigCategorySub.java (71%) diff --git a/gradle.properties b/gradle.properties index c2eb40c..080addf 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=1.17 yarn_mappings=build.1 loader_version=0.11.3 # Mod Properties -mod_version=1.4.4 +mod_version=2.0.0 maven_group=io.gitlab.jfronny archives_base_name=respackopts diff --git a/src/main/java/io/gitlab/jfronny/respackopts/Respackopts.java b/src/main/java/io/gitlab/jfronny/respackopts/Respackopts.java index 5b9c06d..8266d90 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/Respackopts.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/Respackopts.java @@ -2,14 +2,13 @@ package io.gitlab.jfronny.respackopts; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.google.gson.reflect.TypeToken; -import io.gitlab.jfronny.respackopts.data.*; -import io.gitlab.jfronny.respackopts.data.in.Respackmeta; -import io.gitlab.jfronny.respackopts.filters.conditions.SyntaxError; +import io.gitlab.jfronny.respackopts.data.entry.*; +import io.gitlab.jfronny.respackopts.data.Respackmeta; import io.gitlab.jfronny.respackopts.gson.BooleanEntrySerializer; import io.gitlab.jfronny.respackopts.gson.ConfigBranchSerializer; import io.gitlab.jfronny.respackopts.gson.EnumEntrySerializer; import io.gitlab.jfronny.respackopts.gson.NumericEntrySerializer; +import io.gitlab.jfronny.respackopts.gui.GuiFactory; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -64,7 +63,7 @@ public class Respackopts implements ClientModInitializer { public static void save() { for (String s : resPackMetas.keySet()) { s = resPackMetas.get(s).id; - LOGGER.info(s + ": " + CONFIG_BRANCH.get(s)); + //LOGGER.info(s + ": " + CONFIG_BRANCH.get(s)); try (Writer writer = Files.newBufferedWriter(CONF_DIR.resolve(s + ".json"))) { GSON.toJson(CONFIG_BRANCH.get(s), writer); writer.flush(); diff --git a/src/main/java/io/gitlab/jfronny/respackopts/abstractions/JfConfigCategory.java b/src/main/java/io/gitlab/jfronny/respackopts/abstractions/JfConfigCategory.java deleted file mode 100644 index 6eb23f9..0000000 --- a/src/main/java/io/gitlab/jfronny/respackopts/abstractions/JfConfigCategory.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.gitlab.jfronny.respackopts.abstractions; - -import me.shedaniel.clothconfig2.api.AbstractConfigListEntry; - -public interface JfConfigCategory { - JfConfigCategory addEntry(AbstractConfigListEntry var1); -} diff --git a/src/main/java/io/gitlab/jfronny/respackopts/data/in/LegacyConfig.java b/src/main/java/io/gitlab/jfronny/respackopts/data/LegacyConfig.java similarity index 79% rename from src/main/java/io/gitlab/jfronny/respackopts/data/in/LegacyConfig.java rename to src/main/java/io/gitlab/jfronny/respackopts/data/LegacyConfig.java index 362c3af..0af7c53 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/data/in/LegacyConfig.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/data/LegacyConfig.java @@ -1,4 +1,4 @@ -package io.gitlab.jfronny.respackopts.data.in; +package io.gitlab.jfronny.respackopts.data; import java.util.HashMap; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/data/in/Respackmeta.java b/src/main/java/io/gitlab/jfronny/respackopts/data/Respackmeta.java similarity index 51% rename from src/main/java/io/gitlab/jfronny/respackopts/data/in/Respackmeta.java rename to src/main/java/io/gitlab/jfronny/respackopts/data/Respackmeta.java index 17f6203..0561ae4 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/data/in/Respackmeta.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/data/Respackmeta.java @@ -1,6 +1,6 @@ -package io.gitlab.jfronny.respackopts.data.in; +package io.gitlab.jfronny.respackopts.data; -import io.gitlab.jfronny.respackopts.data.ConfigBranch; +import io.gitlab.jfronny.respackopts.data.entry.ConfigBranch; public class Respackmeta { public ConfigBranch conf; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/data/in/Rpo.java b/src/main/java/io/gitlab/jfronny/respackopts/data/Rpo.java similarity index 76% rename from src/main/java/io/gitlab/jfronny/respackopts/data/in/Rpo.java rename to src/main/java/io/gitlab/jfronny/respackopts/data/Rpo.java index 85f7a02..c197cd2 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/data/in/Rpo.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/data/Rpo.java @@ -1,4 +1,4 @@ -package io.gitlab.jfronny.respackopts.data.in; +package io.gitlab.jfronny.respackopts.data; import com.google.gson.JsonArray; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/data/RpoError.java b/src/main/java/io/gitlab/jfronny/respackopts/data/RpoError.java new file mode 100644 index 0000000..16da961 --- /dev/null +++ b/src/main/java/io/gitlab/jfronny/respackopts/data/RpoError.java @@ -0,0 +1,7 @@ +package io.gitlab.jfronny.respackopts.data; + +public class RpoError extends Exception { + public RpoError(String message) { + super(message); + } +} diff --git a/src/main/java/io/gitlab/jfronny/respackopts/data/ConfigBooleanEntry.java b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigBooleanEntry.java similarity index 83% rename from src/main/java/io/gitlab/jfronny/respackopts/data/ConfigBooleanEntry.java rename to src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigBooleanEntry.java index c8c8f36..e1648bd 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/data/ConfigBooleanEntry.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigBooleanEntry.java @@ -1,4 +1,4 @@ -package io.gitlab.jfronny.respackopts.data; +package io.gitlab.jfronny.respackopts.data.entry; public class ConfigBooleanEntry extends Entry { public ConfigBooleanEntry(boolean v) { diff --git a/src/main/java/io/gitlab/jfronny/respackopts/data/ConfigBranch.java b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigBranch.java similarity index 88% rename from src/main/java/io/gitlab/jfronny/respackopts/data/ConfigBranch.java rename to src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigBranch.java index 45db607..91779a0 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/data/ConfigBranch.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigBranch.java @@ -1,8 +1,8 @@ -package io.gitlab.jfronny.respackopts.data; +package io.gitlab.jfronny.respackopts.data.entry; import com.google.common.collect.ImmutableMap; import io.gitlab.jfronny.respackopts.Respackopts; -import io.gitlab.jfronny.respackopts.filters.conditions.SyntaxError; +import io.gitlab.jfronny.respackopts.data.RpoError; import java.util.HashMap; import java.util.Map; @@ -12,30 +12,31 @@ public class ConfigBranch extends Entry>> { setValue(new HashMap<>()); } - public boolean getBoolean(String name) throws SyntaxError { + public boolean getBoolean(String name) throws RpoError { String[] sp = name.split("\\."); if (!super.getValue().containsKey(sp[0])) - throw new SyntaxError("Invalid path to key"); + throw new RpoError("Invalid path to key"); Entry e = super.getValue().get(sp[0]); if (sp.length == 1) { if (e instanceof ConfigBooleanEntry b) return b.getValue(); - throw new SyntaxError("Not a boolean"); + throw new RpoError("Not a boolean"); } if (sp.length == 2 && e instanceof ConfigEnumEntry en) { for (Map.Entry entry : en.values.entrySet()) { if (entry.getKey().equals(sp[1])) return entry.getValue().equals(en.getValue()); } - throw new SyntaxError("Could not find enum entry"); + throw new RpoError("Could not find enum entry"); } if (e instanceof ConfigBranch b) return b.getBoolean(name.substring(name.indexOf('.') + 1)); - throw new SyntaxError("Invalid path to key"); + throw new RpoError("Invalid path to key"); } @Override public void sync(Entry>> source, SyncMode mode) { + Respackopts.LOGGER.info(this); for (Map.Entry> e : source.getValue().entrySet()) { if (!has(e.getKey())) { if (mode.isAdd) @@ -50,6 +51,7 @@ public class ConfigBranch extends Entry>> { } } } + Respackopts.LOGGER.info(this); } @Override @@ -79,7 +81,7 @@ public class ConfigBranch extends Entry>> { return ImmutableMap.copyOf(super.getValue()); } - public void buildShader(StringBuilder sb, String valuePrefix) throws SyntaxError { + public void buildShader(StringBuilder sb, String valuePrefix) throws RpoError { for (Map.Entry> e : super.getValue().entrySet()) { if (e.getValue() instanceof ConfigNumericEntry n) { sb.append("\n#define "); @@ -115,7 +117,7 @@ public class ConfigBranch extends Entry>> { n.buildShader(sb, valuePrefix + e.getKey() + "_"); } else { - throw new SyntaxError("Invalid type"); + throw new RpoError("Invalid type"); } } } diff --git a/src/main/java/io/gitlab/jfronny/respackopts/data/ConfigEnumEntry.java b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigEnumEntry.java similarity index 96% rename from src/main/java/io/gitlab/jfronny/respackopts/data/ConfigEnumEntry.java rename to src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigEnumEntry.java index 6773bf4..e8af445 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/data/ConfigEnumEntry.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigEnumEntry.java @@ -1,4 +1,4 @@ -package io.gitlab.jfronny.respackopts.data; +package io.gitlab.jfronny.respackopts.data.entry; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/data/ConfigNumericEntry.java b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigNumericEntry.java similarity index 94% rename from src/main/java/io/gitlab/jfronny/respackopts/data/ConfigNumericEntry.java rename to src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigNumericEntry.java index 2f4e3e1..482c537 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/data/ConfigNumericEntry.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/ConfigNumericEntry.java @@ -1,4 +1,4 @@ -package io.gitlab.jfronny.respackopts.data; +package io.gitlab.jfronny.respackopts.data.entry; public class ConfigNumericEntry extends Entry { public Double min; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/data/Entry.java b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/Entry.java similarity index 95% rename from src/main/java/io/gitlab/jfronny/respackopts/data/Entry.java rename to src/main/java/io/gitlab/jfronny/respackopts/data/entry/Entry.java index 95a6f41..049fb02 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/data/Entry.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/Entry.java @@ -1,4 +1,4 @@ -package io.gitlab.jfronny.respackopts.data; +package io.gitlab.jfronny.respackopts.data.entry; public abstract class Entry { private T defaultValue; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/data/SyncMode.java b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/SyncMode.java similarity index 90% rename from src/main/java/io/gitlab/jfronny/respackopts/data/SyncMode.java rename to src/main/java/io/gitlab/jfronny/respackopts/data/entry/SyncMode.java index 08861b4..464ea0c 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/data/SyncMode.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/data/entry/SyncMode.java @@ -1,4 +1,4 @@ -package io.gitlab.jfronny.respackopts.data; +package io.gitlab.jfronny.respackopts.data.entry; public class SyncMode { public static final SyncMode RESPACK_LOAD = new SyncMode(false, true, true); diff --git a/src/main/java/io/gitlab/jfronny/respackopts/abstractions/FileOpenProvider.java b/src/main/java/io/gitlab/jfronny/respackopts/filters/FileOpenProvider.java similarity index 74% rename from src/main/java/io/gitlab/jfronny/respackopts/abstractions/FileOpenProvider.java rename to src/main/java/io/gitlab/jfronny/respackopts/filters/FileOpenProvider.java index 93a4265..b6a4649 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/abstractions/FileOpenProvider.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/filters/FileOpenProvider.java @@ -1,4 +1,4 @@ -package io.gitlab.jfronny.respackopts.abstractions; +package io.gitlab.jfronny.respackopts.filters; import java.io.IOException; import java.io.InputStream; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/AndCondition.java b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/AndCondition.java index 2eff9e0..992cbff 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/AndCondition.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/AndCondition.java @@ -1,15 +1,16 @@ package io.gitlab.jfronny.respackopts.filters.conditions; import com.google.gson.JsonElement; +import io.gitlab.jfronny.respackopts.data.RpoError; import java.util.LinkedHashSet; import java.util.Set; public class AndCondition implements Condition { @Override - public boolean evaluate(JsonElement node) throws SyntaxError { + public boolean evaluate(JsonElement node) throws RpoError { if (!node.isJsonArray()) - throw new SyntaxError("\"and\" condition requires an array of conditions"); + throw new RpoError("\"and\" condition requires an array of conditions"); for (JsonElement jsonElement : node.getAsJsonArray()) { if (!ConditionEvaluator.evaluate(jsonElement)) return false; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/Condition.java b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/Condition.java index 675b612..abaeccb 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/Condition.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/Condition.java @@ -1,10 +1,11 @@ package io.gitlab.jfronny.respackopts.filters.conditions; import com.google.gson.JsonElement; +import io.gitlab.jfronny.respackopts.data.RpoError; import java.util.Set; public interface Condition { - boolean evaluate(JsonElement node) throws SyntaxError; + boolean evaluate(JsonElement node) throws RpoError; Set getKeys(); } diff --git a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/ConditionEvaluator.java b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/ConditionEvaluator.java index 9dbc5a8..a9dc4ab 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/ConditionEvaluator.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/ConditionEvaluator.java @@ -2,7 +2,8 @@ package io.gitlab.jfronny.respackopts.filters.conditions; import com.google.gson.JsonElement; import io.gitlab.jfronny.respackopts.Respackopts; -import io.gitlab.jfronny.respackopts.data.in.Respackmeta; +import io.gitlab.jfronny.respackopts.data.Respackmeta; +import io.gitlab.jfronny.respackopts.data.RpoError; import java.util.LinkedHashSet; import java.util.Map; @@ -20,7 +21,7 @@ public class ConditionEvaluator { conditions.add(new NorCondition()); } - public static boolean evaluate(JsonElement condition) throws SyntaxError { + public static boolean evaluate(JsonElement condition) throws RpoError { if (condition.isJsonPrimitive() && condition.getAsJsonPrimitive().isString()) return evaluate(condition.getAsString()); if (condition.isJsonObject() && condition.getAsJsonObject().size() == 1) { @@ -30,7 +31,7 @@ public class ConditionEvaluator { return c.evaluate(entry.getValue()); } } - throw new SyntaxError("Could not find condition: " + entry.getKey()); + throw new RpoError("Could not find condition: " + entry.getKey()); } } if (condition.isJsonArray()) { @@ -40,15 +41,15 @@ public class ConditionEvaluator { } return true; } - throw new SyntaxError("Condition entries may only be json objects containing one key and one value or strings"); + throw new RpoError("Condition entries may only be json objects containing one key and one value or strings"); } - public static boolean evaluate(String condition) throws SyntaxError { + public static boolean evaluate(String condition) throws RpoError { if (condition == null) { - throw new SyntaxError("Condition must not be null"); + throw new RpoError("Condition must not be null"); } if (!condition.contains(":")) { - throw new SyntaxError("You must include you resource pack ID in conditions (format: pack:some.key)"); + throw new RpoError("You must include you resource pack ID in conditions (format: pack:some.key)"); } String sourcePack = condition.split(":")[0]; @@ -58,6 +59,6 @@ public class ConditionEvaluator { return Respackopts.CONFIG_BRANCH.get(sourcePack).getBoolean(name); } } - throw new SyntaxError("Could not find pack with specified ID"); + throw new RpoError("Could not find pack with specified ID"); } } diff --git a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/EqualityCondition.java b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/EqualityCondition.java index d307a79..1992457 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/EqualityCondition.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/EqualityCondition.java @@ -1,6 +1,7 @@ package io.gitlab.jfronny.respackopts.filters.conditions; import com.google.gson.JsonElement; +import io.gitlab.jfronny.respackopts.data.RpoError; import java.util.LinkedHashSet; import java.util.Optional; @@ -8,9 +9,9 @@ import java.util.Set; //TODO implement equality checking for string/number variables public class EqualityCondition implements Condition { @Override - public boolean evaluate(JsonElement node) throws SyntaxError { + public boolean evaluate(JsonElement node) throws RpoError { if (!node.isJsonArray()) - throw new SyntaxError("\"equal\" condition requires an array of conditions"); + throw new RpoError("\"equal\" condition requires an array of conditions"); Optional v = Optional.empty(); for (JsonElement jsonElement : node.getAsJsonArray()) { boolean current = ConditionEvaluator.evaluate(jsonElement); diff --git a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/NorCondition.java b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/NorCondition.java index b673522..3eb2e00 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/NorCondition.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/NorCondition.java @@ -1,15 +1,16 @@ package io.gitlab.jfronny.respackopts.filters.conditions; import com.google.gson.JsonElement; +import io.gitlab.jfronny.respackopts.data.RpoError; import java.util.LinkedHashSet; import java.util.Set; public class NorCondition implements Condition { @Override - public boolean evaluate(JsonElement node) throws SyntaxError { + public boolean evaluate(JsonElement node) throws RpoError { if (!node.isJsonArray()) - throw new SyntaxError("\"not\"/\"nor\" condition requires an array of conditions"); + throw new RpoError("\"not\"/\"nor\" condition requires an array of conditions"); for (JsonElement jsonElement : node.getAsJsonArray()) { if (ConditionEvaluator.evaluate(jsonElement)) return false; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/OrCondition.java b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/OrCondition.java index 62ba94d..cc10acf 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/OrCondition.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/OrCondition.java @@ -1,15 +1,16 @@ package io.gitlab.jfronny.respackopts.filters.conditions; import com.google.gson.JsonElement; +import io.gitlab.jfronny.respackopts.data.RpoError; import java.util.LinkedHashSet; import java.util.Set; public class OrCondition implements Condition { @Override - public boolean evaluate(JsonElement node) throws SyntaxError { + public boolean evaluate(JsonElement node) throws RpoError { if (!node.isJsonArray()) - throw new SyntaxError("\"or\" condition requires an array of conditions"); + throw new RpoError("\"or\" condition requires an array of conditions"); for (JsonElement jsonElement : node.getAsJsonArray()) { if (ConditionEvaluator.evaluate(jsonElement)) return true; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/ResourcePackFilter.java b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/ResourcePackFilter.java index f000b1b..ec845a5 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/ResourcePackFilter.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/ResourcePackFilter.java @@ -1,8 +1,8 @@ package io.gitlab.jfronny.respackopts.filters.conditions; import io.gitlab.jfronny.respackopts.Respackopts; -import io.gitlab.jfronny.respackopts.abstractions.FileOpenProvider; -import io.gitlab.jfronny.respackopts.data.in.Rpo; +import io.gitlab.jfronny.respackopts.filters.FileOpenProvider; +import io.gitlab.jfronny.respackopts.data.Rpo; import java.io.InputStream; import java.io.InputStreamReader; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/SyntaxError.java b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/SyntaxError.java deleted file mode 100644 index b31a599..0000000 --- a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/SyntaxError.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.gitlab.jfronny.respackopts.filters.conditions; - -public class SyntaxError extends Exception { - public SyntaxError(String message) { - super(message); - } -} diff --git a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/XorCondition.java b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/XorCondition.java index dab5d82..d89e80f 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/XorCondition.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/filters/conditions/XorCondition.java @@ -1,15 +1,16 @@ package io.gitlab.jfronny.respackopts.filters.conditions; import com.google.gson.JsonElement; +import io.gitlab.jfronny.respackopts.data.RpoError; import java.util.LinkedHashSet; import java.util.Set; public class XorCondition implements Condition { @Override - public boolean evaluate(JsonElement node) throws SyntaxError { + public boolean evaluate(JsonElement node) throws RpoError { if (!node.isJsonArray()) - throw new SyntaxError("\"xor\" condition requires an array of conditions"); + throw new RpoError("\"xor\" condition requires an array of conditions"); boolean bl = false; for (JsonElement jsonElement : node.getAsJsonArray()) { if (ConditionEvaluator.evaluate(jsonElement)) diff --git a/src/main/java/io/gitlab/jfronny/respackopts/filters/fallback/FallbackFilter.java b/src/main/java/io/gitlab/jfronny/respackopts/filters/fallback/FallbackFilter.java index 79b3e91..92ae4de 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/filters/fallback/FallbackFilter.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/filters/fallback/FallbackFilter.java @@ -1,8 +1,8 @@ package io.gitlab.jfronny.respackopts.filters.fallback; import io.gitlab.jfronny.respackopts.Respackopts; -import io.gitlab.jfronny.respackopts.abstractions.FileOpenProvider; -import io.gitlab.jfronny.respackopts.data.in.Rpo; +import io.gitlab.jfronny.respackopts.filters.FileOpenProvider; +import io.gitlab.jfronny.respackopts.data.Rpo; import net.minecraft.resource.ResourceNotFoundException; import net.minecraft.util.Identifier; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/gson/BooleanEntrySerializer.java b/src/main/java/io/gitlab/jfronny/respackopts/gson/BooleanEntrySerializer.java index c65c028..157429d 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/gson/BooleanEntrySerializer.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/gson/BooleanEntrySerializer.java @@ -1,7 +1,7 @@ package io.gitlab.jfronny.respackopts.gson; import com.google.gson.*; -import io.gitlab.jfronny.respackopts.data.ConfigBooleanEntry; +import io.gitlab.jfronny.respackopts.data.entry.ConfigBooleanEntry; import java.lang.reflect.Type; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/gson/ConfigBranchSerializer.java b/src/main/java/io/gitlab/jfronny/respackopts/gson/ConfigBranchSerializer.java index e881a99..c406bc0 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/gson/ConfigBranchSerializer.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/gson/ConfigBranchSerializer.java @@ -1,7 +1,7 @@ package io.gitlab.jfronny.respackopts.gson; import com.google.gson.*; -import io.gitlab.jfronny.respackopts.data.*; +import io.gitlab.jfronny.respackopts.data.entry.*; import java.lang.reflect.Type; import java.util.Map; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/gson/EnumEntrySerializer.java b/src/main/java/io/gitlab/jfronny/respackopts/gson/EnumEntrySerializer.java index aeefae7..2bae5e5 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/gson/EnumEntrySerializer.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/gson/EnumEntrySerializer.java @@ -1,7 +1,7 @@ package io.gitlab.jfronny.respackopts.gson; import com.google.gson.*; -import io.gitlab.jfronny.respackopts.data.ConfigEnumEntry; +import io.gitlab.jfronny.respackopts.data.entry.ConfigEnumEntry; import java.lang.reflect.Type; import java.util.HashMap; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/gson/LegacyConfigDeserializer.java b/src/main/java/io/gitlab/jfronny/respackopts/gson/LegacyConfigDeserializer.java index 6af8275..2b9e538 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/gson/LegacyConfigDeserializer.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/gson/LegacyConfigDeserializer.java @@ -3,11 +3,10 @@ package io.gitlab.jfronny.respackopts.gson; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonElement; import com.google.gson.JsonParseException; -import io.gitlab.jfronny.respackopts.data.ConfigBooleanEntry; -import io.gitlab.jfronny.respackopts.data.ConfigBranch; -import io.gitlab.jfronny.respackopts.data.ConfigNumericEntry; -import io.gitlab.jfronny.respackopts.data.Entry; -import io.gitlab.jfronny.respackopts.data.in.LegacyConfig; +import io.gitlab.jfronny.respackopts.data.entry.ConfigBooleanEntry; +import io.gitlab.jfronny.respackopts.data.entry.ConfigBranch; +import io.gitlab.jfronny.respackopts.data.entry.ConfigNumericEntry; +import io.gitlab.jfronny.respackopts.data.LegacyConfig; import java.util.Map; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/gson/NumericEntrySerializer.java b/src/main/java/io/gitlab/jfronny/respackopts/gson/NumericEntrySerializer.java index 8903d5b..9dc602e 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/gson/NumericEntrySerializer.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/gson/NumericEntrySerializer.java @@ -1,7 +1,7 @@ package io.gitlab.jfronny.respackopts.gson; import com.google.gson.*; -import io.gitlab.jfronny.respackopts.data.ConfigNumericEntry; +import io.gitlab.jfronny.respackopts.data.entry.ConfigNumericEntry; import java.lang.reflect.Type; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/GuiFactory.java b/src/main/java/io/gitlab/jfronny/respackopts/gui/GuiFactory.java similarity index 93% rename from src/main/java/io/gitlab/jfronny/respackopts/GuiFactory.java rename to src/main/java/io/gitlab/jfronny/respackopts/gui/GuiFactory.java index cf2b992..1224433 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/GuiFactory.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/gui/GuiFactory.java @@ -1,9 +1,10 @@ -package io.gitlab.jfronny.respackopts; +package io.gitlab.jfronny.respackopts.gui; -import io.gitlab.jfronny.respackopts.abstractions.JfConfigCategory; -import io.gitlab.jfronny.respackopts.abstractions.JfConfigCategoryPrimary; -import io.gitlab.jfronny.respackopts.abstractions.JfConfigCategorySub; -import io.gitlab.jfronny.respackopts.data.*; +import io.gitlab.jfronny.respackopts.Respackopts; +import io.gitlab.jfronny.respackopts.gui.abstractions.JfConfigCategory; +import io.gitlab.jfronny.respackopts.gui.abstractions.JfConfigCategoryPrimary; +import io.gitlab.jfronny.respackopts.gui.abstractions.JfConfigCategorySub; +import io.gitlab.jfronny.respackopts.data.entry.*; import me.shedaniel.clothconfig2.api.ConfigBuilder; import me.shedaniel.clothconfig2.api.ConfigCategory; import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/gui/abstractions/JfConfigCategory.java b/src/main/java/io/gitlab/jfronny/respackopts/gui/abstractions/JfConfigCategory.java new file mode 100644 index 0000000..916bd07 --- /dev/null +++ b/src/main/java/io/gitlab/jfronny/respackopts/gui/abstractions/JfConfigCategory.java @@ -0,0 +1,7 @@ +package io.gitlab.jfronny.respackopts.gui.abstractions; + +import me.shedaniel.clothconfig2.api.AbstractConfigListEntry; + +public interface JfConfigCategory { + void addEntry(AbstractConfigListEntry var1); +} diff --git a/src/main/java/io/gitlab/jfronny/respackopts/abstractions/JfConfigCategoryPrimary.java b/src/main/java/io/gitlab/jfronny/respackopts/gui/abstractions/JfConfigCategoryPrimary.java similarity index 71% rename from src/main/java/io/gitlab/jfronny/respackopts/abstractions/JfConfigCategoryPrimary.java rename to src/main/java/io/gitlab/jfronny/respackopts/gui/abstractions/JfConfigCategoryPrimary.java index e3b4685..54463ae 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/abstractions/JfConfigCategoryPrimary.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/gui/abstractions/JfConfigCategoryPrimary.java @@ -1,4 +1,4 @@ -package io.gitlab.jfronny.respackopts.abstractions; +package io.gitlab.jfronny.respackopts.gui.abstractions; import me.shedaniel.clothconfig2.api.AbstractConfigListEntry; import me.shedaniel.clothconfig2.api.ConfigCategory; @@ -10,8 +10,7 @@ public class JfConfigCategoryPrimary implements JfConfigCategory { } @Override - public JfConfigCategory addEntry(AbstractConfigListEntry var1) { + public void addEntry(AbstractConfigListEntry var1) { base.addEntry(var1); - return this; } } diff --git a/src/main/java/io/gitlab/jfronny/respackopts/abstractions/JfConfigCategorySub.java b/src/main/java/io/gitlab/jfronny/respackopts/gui/abstractions/JfConfigCategorySub.java similarity index 71% rename from src/main/java/io/gitlab/jfronny/respackopts/abstractions/JfConfigCategorySub.java rename to src/main/java/io/gitlab/jfronny/respackopts/gui/abstractions/JfConfigCategorySub.java index 4ea1df4..b00e016 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/abstractions/JfConfigCategorySub.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/gui/abstractions/JfConfigCategorySub.java @@ -1,4 +1,4 @@ -package io.gitlab.jfronny.respackopts.abstractions; +package io.gitlab.jfronny.respackopts.gui.abstractions; import me.shedaniel.clothconfig2.api.AbstractConfigListEntry; import me.shedaniel.clothconfig2.impl.builders.SubCategoryBuilder; @@ -9,8 +9,7 @@ public class JfConfigCategorySub implements JfConfigCategory { this.sc = sc; } @Override - public JfConfigCategory addEntry(AbstractConfigListEntry var1) { + public void addEntry(AbstractConfigListEntry var1) { sc.add(var1); - return this; } } diff --git a/src/main/java/io/gitlab/jfronny/respackopts/integration/FrexCompat.java b/src/main/java/io/gitlab/jfronny/respackopts/integration/FrexCompat.java index 3aee3e6..1fa276b 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/integration/FrexCompat.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/integration/FrexCompat.java @@ -3,8 +3,8 @@ package io.gitlab.jfronny.respackopts.integration; import grondag.frex.FrexInitializer; import grondag.frex.api.config.ShaderConfig; import io.gitlab.jfronny.respackopts.Respackopts; -import io.gitlab.jfronny.respackopts.data.ConfigBranch; -import io.gitlab.jfronny.respackopts.filters.conditions.SyntaxError; +import io.gitlab.jfronny.respackopts.data.entry.ConfigBranch; +import io.gitlab.jfronny.respackopts.data.RpoError; import net.minecraft.util.Identifier; import java.util.Map; @@ -18,8 +18,8 @@ public class FrexCompat implements FrexInitializer { for (Map.Entry e : Respackopts.CONFIG_BRANCH.entrySet()) { try { e.getValue().buildShader(sb, e.getKey() + "_"); - } catch (SyntaxError syntaxError) { - Respackopts.LOGGER.error(syntaxError); + } catch (RpoError rpoError) { + Respackopts.LOGGER.error(rpoError); } } sb.append("\n#define respackopts_loaded"); diff --git a/src/main/java/io/gitlab/jfronny/respackopts/integration/ModMenuCompat.java b/src/main/java/io/gitlab/jfronny/respackopts/integration/ModMenuCompat.java index dfb2e1f..4f076df 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/integration/ModMenuCompat.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/integration/ModMenuCompat.java @@ -3,7 +3,7 @@ package io.gitlab.jfronny.respackopts.integration; import com.terraformersmc.modmenu.api.ConfigScreenFactory; import com.terraformersmc.modmenu.api.ModMenuApi; import io.gitlab.jfronny.respackopts.Respackopts; -import io.gitlab.jfronny.respackopts.abstractions.JfConfigCategoryPrimary; +import io.gitlab.jfronny.respackopts.gui.abstractions.JfConfigCategoryPrimary; import me.shedaniel.clothconfig2.api.ConfigBuilder; import me.shedaniel.clothconfig2.api.ConfigCategory; import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/mixin/ResourcePackEntryMixin.java b/src/main/java/io/gitlab/jfronny/respackopts/mixin/ResourcePackEntryMixin.java index 349ba14..805a5c4 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/mixin/ResourcePackEntryMixin.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/mixin/ResourcePackEntryMixin.java @@ -2,7 +2,7 @@ package io.gitlab.jfronny.respackopts.mixin; import com.mojang.blaze3d.systems.RenderSystem; import io.gitlab.jfronny.respackopts.Respackopts; -import io.gitlab.jfronny.respackopts.data.in.Respackmeta; +import io.gitlab.jfronny.respackopts.data.Respackmeta; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.gui.screen.pack.PackListWidget; @@ -19,7 +19,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(PackListWidget.ResourcePackEntry.class) -public abstract class ResourcePackEntryMixin extends AlwaysSelectedEntryListWidget.Entry { +public abstract class ResourcePackEntryMixin { @Final @Shadow private PackListWidget widget; @Shadow protected abstract boolean isSelectable(); diff --git a/src/main/java/io/gitlab/jfronny/respackopts/mixin/ResourcePackManagerMixin.java b/src/main/java/io/gitlab/jfronny/respackopts/mixin/ResourcePackManagerMixin.java index 470acaa..fac566b 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/mixin/ResourcePackManagerMixin.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/mixin/ResourcePackManagerMixin.java @@ -2,8 +2,8 @@ package io.gitlab.jfronny.respackopts.mixin; import com.google.gson.*; import io.gitlab.jfronny.respackopts.Respackopts; -import io.gitlab.jfronny.respackopts.data.SyncMode; -import io.gitlab.jfronny.respackopts.data.in.Respackmeta; +import io.gitlab.jfronny.respackopts.data.entry.SyncMode; +import io.gitlab.jfronny.respackopts.data.Respackmeta; import net.minecraft.resource.ResourcePackManager; import net.minecraft.resource.ResourcePackProfile; import net.minecraft.resource.ResourceType; diff --git a/src/main/resources/respackopts.mixins.json b/src/main/resources/respackopts.mixins.json index b0377b4..70c5259 100644 --- a/src/main/resources/respackopts.mixins.json +++ b/src/main/resources/respackopts.mixins.json @@ -9,8 +9,7 @@ "OptionsScreenMixin", "ResourcePackEntryMixin", "ResourcePackManagerMixin", - "conditions.DirectoryResourcePackMixin", - "conditions.ZipResourcePackMixin" + "ResourcePackConditionMixin" ], "injectors": { "defaultRequire": 1