diff options
| author | shedaniel <daniel@shedaniel.me> | 2019-12-24 11:31:40 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2019-12-24 11:31:40 +0800 |
| commit | 08d80d588a36598114087a79917e36e9d2cc97c3 (patch) | |
| tree | 95cde698bbf1eca2f83143d39fd206cf2dc803f2 /src/main/java/me/shedaniel/rei/impl/BaseBoundsHandlerImpl.java | |
| parent | 7d438f554c4173880a407a6bb8fc80b8a4723845 (diff) | |
| download | RoughlyEnoughItems-08d80d588a36598114087a79917e36e9d2cc97c3.tar.gz RoughlyEnoughItems-08d80d588a36598114087a79917e36e9d2cc97c3.tar.bz2 RoughlyEnoughItems-08d80d588a36598114087a79917e36e9d2cc97c3.zip | |
Finishing workstation usage and close #220
Diffstat (limited to 'src/main/java/me/shedaniel/rei/impl/BaseBoundsHandlerImpl.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/impl/BaseBoundsHandlerImpl.java | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/main/java/me/shedaniel/rei/impl/BaseBoundsHandlerImpl.java b/src/main/java/me/shedaniel/rei/impl/BaseBoundsHandlerImpl.java index ae4cb24df..54a4813f0 100644 --- a/src/main/java/me/shedaniel/rei/impl/BaseBoundsHandlerImpl.java +++ b/src/main/java/me/shedaniel/rei/impl/BaseBoundsHandlerImpl.java @@ -22,32 +22,32 @@ import java.util.function.Supplier; @Deprecated @Internal public class BaseBoundsHandlerImpl implements BaseBoundsHandler { - + private static final Comparator<? super Rectangle> RECTANGLE_COMPARER = Comparator.comparingLong(Rectangle::hashCode); - + private long lastArea = -1; private List<Pair<Pair<Class<?>, Float>, Supplier<List<Rectangle>>>> list = Lists.newArrayList(); - + @Override public Class<?> getBaseSupportedClass() { return Screen.class; } - + @Override public Rectangle getLeftBounds(Screen screen) { return new Rectangle(); } - + @Override public Rectangle getRightBounds(Screen screen) { return new Rectangle(); } - + @Override public float getPriority() { return -5f; } - + @Override public ActionResult isInZone(double mouseX, double mouseY) { Class<? extends Screen> screenClass = MinecraftClient.getInstance().currentScreen.getClass(); @@ -59,7 +59,7 @@ public class BaseBoundsHandlerImpl implements BaseBoundsHandler { } return ActionResult.PASS; } - + @Override public boolean shouldRecalculateArea(boolean isOnRightSide, Rectangle rectangle) { long current = currentHashCode(isOnRightSide); @@ -68,12 +68,12 @@ public class BaseBoundsHandlerImpl implements BaseBoundsHandler { lastArea = current; return true; } - + private long currentHashCode(boolean isOnRightSide) { DisplayHelper.DisplayBoundsHandler handler = DisplayHelper.getInstance().getResponsibleBoundsHandler(MinecraftClient.getInstance().currentScreen.getClass()); return areasHashCode(isOnRightSide ? handler.getRightBounds(MinecraftClient.getInstance().currentScreen) : handler.getLeftBounds(MinecraftClient.getInstance().currentScreen), getExclusionZones(MinecraftClient.getInstance().currentScreen.getClass(), false)); } - + @Override public ActionResult canItemSlotWidgetFit(int left, int top, Screen screen, Rectangle fullBounds) { Class<? extends Screen> screenClass = screen.getClass(); @@ -86,7 +86,7 @@ public class BaseBoundsHandlerImpl implements BaseBoundsHandler { } return ActionResult.PASS; } - + @Override public List<Rectangle> getExclusionZones(Class<?> currentScreenClass, boolean sort) { List<Rectangle> rectangles = Lists.newArrayList(); @@ -98,22 +98,22 @@ public class BaseBoundsHandlerImpl implements BaseBoundsHandler { rectangles.sort(RECTANGLE_COMPARER); return rectangles; } - + @Override public int supplierSize() { return list.size(); } - + @Override public void registerExclusionZones(Class<?> screenClass, Supplier<List<Rectangle>> supplier) { list.add(new Pair<>(new Pair<>(screenClass, 0f), supplier)); } - + private long areasHashCode(Rectangle rectangle, List<Rectangle> exclusionZones) { int hashCode = 31 + (rectangle == null ? 0 : rectangle.hashCode()); for (Rectangle e : exclusionZones) hashCode = 31 * hashCode + (e == null ? 0 : e.hashCode()); return hashCode; } - + } |
