diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-07-12 02:42:55 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-07-12 02:42:55 +0800 |
| commit | 10ee1d7d00d8e5f1958af946b12aea20a7529483 (patch) | |
| tree | 67b78f94e1f70ca7e83337120dc1ccf1f5d87441 /runtime/src/main/java | |
| parent | c734a77d256631d06ad454ec7f98442767718a9f (diff) | |
| download | RoughlyEnoughItems-10ee1d7d00d8e5f1958af946b12aea20a7529483.tar.gz RoughlyEnoughItems-10ee1d7d00d8e5f1958af946b12aea20a7529483.tar.bz2 RoughlyEnoughItems-10ee1d7d00d8e5f1958af946b12aea20a7529483.zip | |
Fix #977
Diffstat (limited to 'runtime/src/main/java')
| -rw-r--r-- | runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java index a44eeef7c..0318f692c 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java @@ -313,17 +313,23 @@ public class EntryWidget extends Slot implements DraggableStackProviderWidget { return null; } - for (List<Display> displays : DisplayRegistry.getInstance().getAll().values()) { - for (Display display : displays) { - if (ViewsImpl.isRecipesFor(getEntries(), display)) { - AutoCraftingEvaluator.AutoCraftingResult result = AutoCraftingEvaluator.evaluateAutoCrafting(false, false, display, null); - if (result.successful) { - this.display = display; - this.displayTooltipComponent = Suppliers.memoize(() -> new DisplayTooltipComponent(display)); - return result.successfulHandler; + try { + for (List<Display> displays : DisplayRegistry.getInstance().getAll().values()) { + for (Display display : displays) { + if (ViewsImpl.isRecipesFor(getEntries(), display)) { + AutoCraftingEvaluator.AutoCraftingResult result = AutoCraftingEvaluator.evaluateAutoCrafting(false, false, display, null); + if (result.successful) { + this.display = display; + this.displayTooltipComponent = Suppliers.memoize(() -> new DisplayTooltipComponent(display)); + return result.successfulHandler; + } } } } + } catch (ConcurrentModificationException ignored) { + display = null; + displayTooltipComponent = null; + lastCheckTime = -1; } return null; |
