diff options
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java | 16 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/rei/api/DisplayHelper.java | 6 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java b/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java new file mode 100644 index 000000000..83cf9163c --- /dev/null +++ b/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java @@ -0,0 +1,16 @@ +package me.shedaniel.rei.api; + +import net.minecraft.client.gui.Screen; + +import java.awt.*; +import java.util.List; + +public interface BaseBoundsHandler extends DisplayHelper.DisplayBoundsHandler<Screen> { + List<Rectangle> getCurrentExclusionZones(Class<? extends Screen> currentScreenClass, boolean isOnRightSide); + + void registerExclusionZones(Class<? extends Screen> screenClass, ExclusionZoneSupplier supplier); + + public static interface ExclusionZoneSupplier { + List<Rectangle> apply(boolean isOnRightSide); + } +} diff --git a/src/main/java/me/shedaniel/rei/api/DisplayHelper.java b/src/main/java/me/shedaniel/rei/api/DisplayHelper.java index edb319d76..5d4fda8a4 100644 --- a/src/main/java/me/shedaniel/rei/api/DisplayHelper.java +++ b/src/main/java/me/shedaniel/rei/api/DisplayHelper.java @@ -16,6 +16,8 @@ public interface DisplayHelper { void registerBoundsHandler(DisplayBoundsHandler handler); + BaseBoundsHandler getBaseBoundsHandler(); + public static interface DisplayBoundsHandler<T> { Class getBaseSupportedClass(); @@ -31,6 +33,10 @@ public interface DisplayHelper { return new Rectangle(rectangle.x + 2, rectangle.y + 24, rectangle.width - 4, rectangle.height - (RoughlyEnoughItemsCore.getConfigManager().getConfig().sideSearchField ? 27 + 22 : 27)); } + default boolean shouldRecalculateArea(boolean isOnRightSide, Rectangle rectangle) { + return false; + } + default float getPriority() { return 0f; } |
