diff options
| author | shedaniel <daniel@shedaniel.me> | 2023-05-30 12:37:39 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2023-06-01 16:55:08 +0800 |
| commit | c14a1cc216730037319f2a18370fd29b1993fe71 (patch) | |
| tree | 145f8b567d603cce0a693383e13bc6e837680b93 /runtime | |
| parent | 6acbfba77bce42994f462fdcc06ffd985d8642af (diff) | |
| download | RoughlyEnoughItems-c14a1cc216730037319f2a18370fd29b1993fe71.tar.gz RoughlyEnoughItems-c14a1cc216730037319f2a18370fd29b1993fe71.tar.bz2 RoughlyEnoughItems-c14a1cc216730037319f2a18370fd29b1993fe71.zip | |
Fix #1318
Diffstat (limited to 'runtime')
| -rw-r--r-- | runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayEntry.java | 20 |
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(); |
