aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/impl/BaseBoundsHandlerImpl.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2020-01-02 14:31:16 +0800
committershedaniel <daniel@shedaniel.me>2020-01-02 14:31:16 +0800
commit5e2eccadbd91171c01cdb209d1338bcfb7786b1c (patch)
tree6c7387de5baea8b335e8abe58651018f77ad2d41 /src/main/java/me/shedaniel/rei/impl/BaseBoundsHandlerImpl.java
parente8714fe8fc1dcaec7ad299c63e2b657870c8fb40 (diff)
downloadRoughlyEnoughItems-5e2eccadbd91171c01cdb209d1338bcfb7786b1c.tar.gz
RoughlyEnoughItems-5e2eccadbd91171c01cdb209d1338bcfb7786b1c.tar.bz2
RoughlyEnoughItems-5e2eccadbd91171c01cdb209d1338bcfb7786b1c.zip
3.3
Fix #58 Close #134 Close #158 Fix #227
Diffstat (limited to 'src/main/java/me/shedaniel/rei/impl/BaseBoundsHandlerImpl.java')
-rw-r--r--src/main/java/me/shedaniel/rei/impl/BaseBoundsHandlerImpl.java30
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 54a4813f0..ae4cb24df 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;
}
-
+
}