2015-07-15 00:19:44 +02:00
|
|
|
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)
|
2015-08-29 14:37:15 +02:00
|
|
|
public @interface RowSizeCallback {
|
2015-07-15 00:19:44 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// 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)
|
2015-08-29 14:37:15 +02:00
|
|
|
public @interface IsLargeCallback {
|
2015-07-15 00:19:44 +02:00
|
|
|
}
|
|
|
|
}
|