aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2023-05-30 12:37:39 +0800
committershedaniel <daniel@shedaniel.me>2023-06-01 16:55:08 +0800
commitc14a1cc216730037319f2a18370fd29b1993fe71 (patch)
tree145f8b567d603cce0a693383e13bc6e837680b93 /runtime/src/main/java
parent6acbfba77bce42994f462fdcc06ffd985d8642af (diff)
downloadRoughlyEnoughItems-c14a1cc216730037319f2a18370fd29b1993fe71.tar.gz
RoughlyEnoughItems-c14a1cc216730037319f2a18370fd29b1993fe71.tar.bz2
RoughlyEnoughItems-c14a1cc216730037319f2a18370fd29b1993fe71.zip
Fix #1318
Diffstat (limited to 'runtime/src/main/java')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayEntry.java20
1 files changed, 15 insertions, 5 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 72fd04e6f..03db37b7e 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
@@ -44,10 +44,7 @@ import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.Component;
import org.jetbrains.annotations.Nullable;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
+import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
@@ -99,7 +96,7 @@ public class DisplayEntry extends WidgetWithBounds {
CategoryRegistry.CategoryConfiguration<Display> configuration = CategoryRegistry.getInstance().get((CategoryIdentifier<Display>) display.getCategoryIdentifier());
DisplayCategory<Display> category = configuration.getCategory();
Rectangle displayBounds = new Rectangle(0, 0, category.getDisplayWidth(display), category.getDisplayHeight());
- List<Widget> widgets = configuration.getView(display).setupDisplay(display, displayBounds);
+ List<Widget> widgets = setupDisplay(configuration, displayBounds);
float scale = 1.0F;
if (parentBounds.width * scale < displayBounds.width) {
scale = Math.min(scale, parentBounds.width * scale / (float) displayBounds.width);
@@ -124,6 +121,19 @@ public class DisplayEntry extends WidgetWithBounds {
return widgets;
}
+ private List<Widget> setupDisplay(CategoryRegistry.CategoryConfiguration<Display> configuration, Rectangle displayBounds) {
+ try {
+ return configuration.getView(display).setupDisplay(display, displayBounds);
+ } catch (Throwable throwable) {
+ throwable.printStackTrace();
+ List<Widget> w = new ArrayList<>();
+ w.add(Widgets.createRecipeBase(displayBounds).color(0xFFBB0000));
+ w.add(Widgets.createLabel(new Point(displayBounds.getCenterX(), displayBounds.getCenterY() - 8), new TextComponent("Failed to initiate setupDisplay")));
+ w.add(Widgets.createLabel(new Point(displayBounds.getCenterX(), displayBounds.getCenterY() + 1), new TextComponent("Check console for error")));
+ return w;
+ }
+ }
+
@Override
public Rectangle getBounds() {
return bounds.value().getBounds();