From aad5111d45a66d943f0bcbe885ccb28249441d11 Mon Sep 17 00:00:00 2001 From: DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com> Date: Tue, 26 Apr 2022 20:35:35 +0200 Subject: config system rewrite --- .../io/polyfrost/oneconfig/config/data/Mod.java | 25 ++++++++++++++++++++++ .../polyfrost/oneconfig/config/data/ModData.java | 24 --------------------- .../oneconfig/config/data/OptionPage.java | 20 +++++++++++++++++ .../oneconfig/config/data/OptionType.java | 6 ++++++ 4 files changed, 51 insertions(+), 24 deletions(-) create mode 100644 src/main/java/io/polyfrost/oneconfig/config/data/Mod.java delete mode 100644 src/main/java/io/polyfrost/oneconfig/config/data/ModData.java create mode 100644 src/main/java/io/polyfrost/oneconfig/config/data/OptionPage.java create mode 100644 src/main/java/io/polyfrost/oneconfig/config/data/OptionType.java (limited to 'src/main/java/io/polyfrost/oneconfig/config/data') diff --git a/src/main/java/io/polyfrost/oneconfig/config/data/Mod.java b/src/main/java/io/polyfrost/oneconfig/config/data/Mod.java new file mode 100644 index 0000000..435fb32 --- /dev/null +++ b/src/main/java/io/polyfrost/oneconfig/config/data/Mod.java @@ -0,0 +1,25 @@ +package io.polyfrost.oneconfig.config.data; + +import io.polyfrost.oneconfig.config.interfaces.Config; + +public class Mod { + public final String name; + public final ModType modType; + public final String creator; + public final String version; + public Config config; + public OptionPage defaultPage = new OptionPage(""); + + /** + * @param name Friendly name of the mod + * @param modType Type of the mod (for example ModType.QOL) + * @param creator Creator of the mod + * @param version Version of the mod + */ + public Mod(String name, ModType modType, String creator, String version) { + this.name = name; + this.modType = modType; + this.creator = creator; + this.version = version; + } +} diff --git a/src/main/java/io/polyfrost/oneconfig/config/data/ModData.java b/src/main/java/io/polyfrost/oneconfig/config/data/ModData.java deleted file mode 100644 index c5e6633..0000000 --- a/src/main/java/io/polyfrost/oneconfig/config/data/ModData.java +++ /dev/null @@ -1,24 +0,0 @@ -package io.polyfrost.oneconfig.config.data; - -import io.polyfrost.oneconfig.config.interfaces.Config; - -public class ModData { - public final String name; - public final ModType modType; - public final String creator; - public final String version; - public Config config; - - /** - * @param name Friendly name of the mod - * @param modType Type of the mod (for example ModType.QOL) - * @param creator Creator of the mod - * @param version Version of the mod - */ - public ModData(String name, ModType modType, String creator, String version) { - this.name = name; - this.modType = modType; - this.creator = creator; - this.version = version; - } -} diff --git a/src/main/java/io/polyfrost/oneconfig/config/data/OptionPage.java b/src/main/java/io/polyfrost/oneconfig/config/data/OptionPage.java new file mode 100644 index 0000000..021786d --- /dev/null +++ b/src/main/java/io/polyfrost/oneconfig/config/data/OptionPage.java @@ -0,0 +1,20 @@ +package io.polyfrost.oneconfig.config.data; + +import io.polyfrost.oneconfig.config.interfaces.BasicOption; + +import java.util.ArrayList; +import java.util.HashMap; + +public class OptionPage { + public final String name; + /** + * Depth 1 = categories + * Depth 2 = subcategories + * Depth 3 = list of options + */ + public final HashMap>> categories = new HashMap<>(); + + public OptionPage(String name) { + this.name = name; + } +} diff --git a/src/main/java/io/polyfrost/oneconfig/config/data/OptionType.java b/src/main/java/io/polyfrost/oneconfig/config/data/OptionType.java new file mode 100644 index 0000000..22c92c0 --- /dev/null +++ b/src/main/java/io/polyfrost/oneconfig/config/data/OptionType.java @@ -0,0 +1,6 @@ +package io.polyfrost.oneconfig.config.data; + +public enum OptionType { + PAGE, + SWITCH +} -- cgit