package de.hysky.skyblocker.annotations; import de.hysky.skyblocker.SkyblockerMod; import java.lang.annotation.*; /** *

* Marks a method to be called upon mod initialization, performing any initialization logic for the class. * In order for a method to be considered an initializer method, it must be public & static while having no arguments and a void return type. *

* Example usage: *
 * {@code
 * @Init
 * public static void init() {
 *     //do stuff
 * }
 * }
 * 
*

* A call to the method annotated with this annotation will be added to the {@link SkyblockerMod#init} method at compile-time. *

*

* If your method depends on another initializer method, you can use the {@link #priority()} field to ensure that it is called after the other method. *

*/ @Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.CLASS) public @interface Init { /** * The priority of the initializer method. * The higher the number, the later the method will be called. * Use this to ensure that your initializer method is called after another initializer method if it depends on it. */ int priority() default 0; }