aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/config/data
diff options
context:
space:
mode:
authorDeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>2022-05-03 18:25:32 +0200
committerDeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>2022-05-03 18:25:32 +0200
commita0ff501947a84b268e099524a06b56a6b900dad2 (patch)
treedb27ca1b28dbc7e57b8c99f54c80732d3042e856 /src/main/java/cc/polyfrost/oneconfig/config/data
parentb798930b21b89b81be05a31281f768667a6dd7f3 (diff)
downloadOneConfig-a0ff501947a84b268e099524a06b56a6b900dad2.tar.gz
OneConfig-a0ff501947a84b268e099524a06b56a6b900dad2.tar.bz2
OneConfig-a0ff501947a84b268e099524a06b56a6b900dad2.zip
move to cc.polyfrost
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/config/data')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/data/InfoType.java8
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java26
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/data/ModType.java10
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/data/OptionCategory.java13
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/data/OptionPage.java19
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/data/OptionType.java36
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/data/PageLocation.java6
7 files changed, 118 insertions, 0 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/data/InfoType.java b/src/main/java/cc/polyfrost/oneconfig/config/data/InfoType.java
new file mode 100644
index 0000000..1c436d6
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/config/data/InfoType.java
@@ -0,0 +1,8 @@
+package cc.polyfrost.oneconfig.config.data;
+
+public enum InfoType {
+ INFO,
+ WARNING,
+ ERROR,
+ SUCCESS
+}
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java b/src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java
new file mode 100644
index 0000000..3ddb68b
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java
@@ -0,0 +1,26 @@
+package cc.polyfrost.oneconfig.config.data;
+
+import cc.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 final OptionPage defaultPage;
+
+ /**
+ * @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;
+ this.defaultPage = new OptionPage(name, this);
+ }
+}
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/data/ModType.java b/src/main/java/cc/polyfrost/oneconfig/config/data/ModType.java
new file mode 100644
index 0000000..cbb4568
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/config/data/ModType.java
@@ -0,0 +1,10 @@
+package cc.polyfrost.oneconfig.config.data;
+
+public enum ModType {
+ PVP,
+ HUD,
+ UTIL_QOL,
+ HYPIXEL,
+ SKYBLOCK,
+ OTHER
+}
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/data/OptionCategory.java b/src/main/java/cc/polyfrost/oneconfig/config/data/OptionCategory.java
new file mode 100644
index 0000000..14111f4
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/config/data/OptionCategory.java
@@ -0,0 +1,13 @@
+package cc.polyfrost.oneconfig.config.data;
+
+import cc.polyfrost.oneconfig.config.interfaces.BasicOption;
+import cc.polyfrost.oneconfig.gui.elements.config.ConfigPageButton;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+
+public class OptionCategory {
+ public final LinkedHashMap<String, ArrayList<BasicOption>> subcategories = new LinkedHashMap<>();
+ public final ArrayList<ConfigPageButton> topPages = new ArrayList<>();
+ public final ArrayList<ConfigPageButton> bottomPages = new ArrayList<>();
+}
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/data/OptionPage.java b/src/main/java/cc/polyfrost/oneconfig/config/data/OptionPage.java
new file mode 100644
index 0000000..32a07b9
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/config/data/OptionPage.java
@@ -0,0 +1,19 @@
+package cc.polyfrost.oneconfig.config.data;
+
+import java.util.LinkedHashMap;
+
+public class OptionPage {
+ public final String name;
+ public final Mod mod;
+ /**
+ * Depth 1 = categories
+ * Depth 2 = subcategories
+ * Depth 3 = list of options
+ */
+ public final LinkedHashMap<String, OptionCategory> categories = new LinkedHashMap<>();
+
+ public OptionPage(String name, Mod mod) {
+ this.name = name;
+ this.mod = mod;
+ }
+}
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/data/OptionType.java b/src/main/java/cc/polyfrost/oneconfig/config/data/OptionType.java
new file mode 100644
index 0000000..99dfb8b
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/config/data/OptionType.java
@@ -0,0 +1,36 @@
+package cc.polyfrost.oneconfig.config.data;
+
+public enum OptionType {
+ /**
+ * Type: boolean
+ */
+ SWITCH,
+ /**
+ * Type: boolean
+ */
+ CHECKBOX,
+ /**
+ * Type: boolean
+ */
+ DUAL_OPTION,
+ /**
+ * Type: int
+ */
+ UNI_SELECTOR,
+ /**
+ * Type: String
+ * Normal: 1x and 2x, Secure and Mutliline: 2x only
+ */
+ TEXT,
+ /**
+ * Type: int or float
+ */
+ SLIDER,
+ COLOR,
+ /**
+ * Type: int
+ */
+ DROPDOWN,
+ MULTI_DROPDOWN,
+ INFO
+}
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/data/PageLocation.java b/src/main/java/cc/polyfrost/oneconfig/config/data/PageLocation.java
new file mode 100644
index 0000000..c66151d
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/config/data/PageLocation.java
@@ -0,0 +1,6 @@
+package cc.polyfrost.oneconfig.config.data;
+
+public enum PageLocation {
+ TOP,
+ BOTTOM
+}