diff --git a/src/main/java/com/seibel/lod/core/config/ConfigAnnotations.java b/src/main/java/com/seibel/lod/core/config/ConfigAnnotations.java new file mode 100644 index 000000000..b61212a41 --- /dev/null +++ b/src/main/java/com/seibel/lod/core/config/ConfigAnnotations.java @@ -0,0 +1,56 @@ +package com.seibel.lod.core.config; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Where the annotations for the config are defined + * + * @author coolGi2007 + * @version 12-28-2021 + */ +public class ConfigAnnotations { + /** a textField, button, etc. that can be interacted with */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.FIELD) + public @interface Entry + { + String name() default ""; + + int width() default 150; + + double minValue() default Double.MIN_NORMAL; + + double maxValue() default Double.MAX_VALUE; + } + + + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.FIELD) + public @interface ScreenEntry + { + String name() default ""; + + int width() default 100; + } + + + /** Used when sorting the configs in the menu */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.FIELD) + public @interface Category + { + String value(); + } + + + /** Makes text (looks like @Entry but dosnt save and has no button */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.FIELD) + public @interface Comment + { + + } +}