aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/polyfrost/oneconfig/config/annotations
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/polyfrost/oneconfig/config/annotations')
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/Button.java14
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/Category.java13
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/ColorPicker.java14
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/Selector.java15
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/Slider.java16
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/Switch.java13
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/TextField.java15
7 files changed, 100 insertions, 0 deletions
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/Button.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/Button.java
new file mode 100644
index 0000000..449d297
--- /dev/null
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/Button.java
@@ -0,0 +1,14 @@
+package io.polyfrost.oneconfig.config.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface Button {
+ String name();
+ String description() default "";
+ String text() default "Button";
+}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/Category.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/Category.java
new file mode 100644
index 0000000..05b5277
--- /dev/null
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/Category.java
@@ -0,0 +1,13 @@
+package io.polyfrost.oneconfig.config.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+public @interface Category {
+ String name();
+ String description() default "";
+}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/ColorPicker.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/ColorPicker.java
new file mode 100644
index 0000000..feee4b4
--- /dev/null
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/ColorPicker.java
@@ -0,0 +1,14 @@
+package io.polyfrost.oneconfig.config.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface ColorPicker {
+ String name();
+ String description() default "";
+ boolean allowAlpha() default true;
+}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/Selector.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/Selector.java
new file mode 100644
index 0000000..8b476ab
--- /dev/null
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/Selector.java
@@ -0,0 +1,15 @@
+package io.polyfrost.oneconfig.config.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface Selector {
+ String name();
+ String description() default "";
+ String[] options();
+ int defaultSelection() default 0;
+}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/Slider.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/Slider.java
new file mode 100644
index 0000000..cf8bfcd
--- /dev/null
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/Slider.java
@@ -0,0 +1,16 @@
+package io.polyfrost.oneconfig.config.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface Slider {
+ String name();
+ String description() default "";
+ float min();
+ float max();
+ float precision();
+}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/Switch.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/Switch.java
new file mode 100644
index 0000000..19ec1db
--- /dev/null
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/Switch.java
@@ -0,0 +1,13 @@
+package io.polyfrost.oneconfig.config.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface Switch {
+ String name();
+ String description() default "";
+}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/TextField.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/TextField.java
new file mode 100644
index 0000000..7b5837c
--- /dev/null
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/TextField.java
@@ -0,0 +1,15 @@
+package io.polyfrost.oneconfig.config.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface TextField {
+ String name();
+ String description() default "";
+ String placeholder() default "";
+ boolean hideText() default false;
+}