package invtweaks.api.container; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * A marker for containers that have a chest-like persistant storage component. Enables the Inventroy Tweaks sorting * buttons for this container. */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface ChestContainer { // Set to true if the Inventory Tweaks sorting buttons should be shown for this container. boolean showButtons() default true; // Size of a chest row int rowSize() default 9; // Uses 'large chest' mode for sorting buttons // (Renders buttons vertically down the right side of the GUI) boolean isLargeChest() default false; // Annotation for method to get size of a chest row if it is not a fixed size for this container class // Signature int func() @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface RowSizeCallback { } // Annotation for method to get size of a chest row if it is not a fixed size for this container class // Signature int func() @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface IsLargeCallback { } }