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; }