aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-05-28 17:42:39 +0800
committershedaniel <daniel@shedaniel.me>2023-05-29 20:34:01 +0800
commit6c96ffa301c42b59c3400ffaa50c5fc2f9572373 (patch)
treea23449d9f2c28d0917917a7739ca6a83cd4f741a /runtime/src/main/java
parentac8bb5a64a7a041d505d5629539fdf5f4a2f0914 (diff)
downloadRoughlyEnoughItems-6c96ffa301c42b59c3400ffaa50c5fc2f9572373.tar.gz
RoughlyEnoughItems-6c96ffa301c42b59c3400ffaa50c5fc2f9572373.tar.bz2
RoughlyEnoughItems-6c96ffa301c42b59c3400ffaa50c5fc2f9572373.zip
Fix favoriting items in the pinned recipe and add error rendering
Diffstat (limited to 'runtime/src/main/java')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayEntry.java19
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayHistoryWidget.java26
2 files changed, 29 insertions, 16 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayEntry.java
index e21d81e3f..b7540c87a 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayEntry.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayEntry.java
@@ -160,13 +160,26 @@ public class DisplayEntry extends WidgetWithBounds {
if (result.hasApplicable) {
plusButton.setText(new TextComponent("+"));
plusButton.render(poses, Math.round(mouse.x()), Math.round(mouse.y()), delta);
+ poses.popPose();
if (plusButton.containsMouse(Math.round(mouse.x()), Math.round(mouse.y()))) {
result.tooltipRenderer.accept(new Point(mouseX, mouseY), Tooltip::queue);
+
+ if (result.renderer != null) {
+ poses.pushPose();
+ if (!stable || !target.equals(bounds)) {
+ poses.translate(0, 0, 600);
+ }
+ poses.translate(xOffset(), yOffset(), 0);
+ poses.scale(xScale(), yScale(), 1.0F);
+
+ result.renderer.render(poses, mouseX, mouseY, delta, widgets.get(), getBounds(), display);
+ poses.popPose();
+ }
}
+ } else {
+ poses.popPose();
}
-
- poses.popPose();
}
}
@@ -211,7 +224,7 @@ public class DisplayEntry extends WidgetWithBounds {
@Override
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
try {
- Widget.translateMouse(xOffset, 0, 0);
+ Widget.pushMouse(new Point(transformMouseX(mouse().x), transformMouseY(mouse().y)));
for (Widget widget : widgets.get()) {
if (widget.keyPressed(keyCode, scanCode, modifiers)) {
return true;
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayHistoryWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayHistoryWidget.java
index b6cd9fb01..6aaf55ba3 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayHistoryWidget.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayHistoryWidget.java
@@ -254,7 +254,7 @@ public class DisplayHistoryWidget extends WidgetWithBounds implements DraggableC
scroll.setTo(scroll.target() + ClothConfigInitializer.getScrollStep() * -2 * amount, ClothConfigInitializer.getScrollDuration());
return true;
}
-
+
for (DisplayEntry entry : entries) {
if (entry.mouseScrolled(mouseX, mouseY, amount)) {
return true;
@@ -277,6 +277,12 @@ public class DisplayHistoryWidget extends WidgetWithBounds implements DraggableC
@Override
public boolean mouseReleased(double mouseX, double mouseY, int button) {
+ for (DisplayEntry entry : entries) {
+ if (entry.mouseReleased(mouseX, mouseY, button)) {
+ return true;
+ }
+ }
+
if (ConfigObject.getInstance().getFavoriteKeyCode().matchesMouse(button)) {
Point mouse = PointHelper.ofMouse();
@@ -296,18 +302,18 @@ public class DisplayHistoryWidget extends WidgetWithBounds implements DraggableC
}
}
}
-
- for (DisplayEntry entry : entries) {
- if (entry.mouseReleased(mouseX, mouseY, button)) {
- return true;
- }
- }
return super.mouseReleased(mouseX, mouseY, button);
}
@Override
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
+ for (DisplayEntry entry : entries) {
+ if (entry.keyPressed(keyCode, scanCode, modifiers)) {
+ return true;
+ }
+ }
+
if (ConfigObject.getInstance().getFavoriteKeyCode().matchesKey(keyCode, scanCode)) {
Point mouse = PointHelper.ofMouse();
@@ -327,12 +333,6 @@ public class DisplayHistoryWidget extends WidgetWithBounds implements DraggableC
}
}
}
-
- for (DisplayEntry entry : entries) {
- if (entry.keyPressed(keyCode, scanCode, modifiers)) {
- return true;
- }
- }
return super.keyPressed(keyCode, scanCode, modifiers);
}