aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-07-12 02:42:55 +0800
committershedaniel <daniel@shedaniel.me>2022-07-12 02:44:34 +0800
commit2aca43edd6ffb7c765d93ef80dfdedfb9e369f00 (patch)
tree8d4c7eb7123ccc376210e19728f5a5237c7298cd /runtime/src/main
parent9b89a4aeb482a697ee52703ba154bf4309fbbff2 (diff)
downloadRoughlyEnoughItems-2aca43edd6ffb7c765d93ef80dfdedfb9e369f00.tar.gz
RoughlyEnoughItems-2aca43edd6ffb7c765d93ef80dfdedfb9e369f00.tar.bz2
RoughlyEnoughItems-2aca43edd6ffb7c765d93ef80dfdedfb9e369f00.zip
Fix #977
Diffstat (limited to 'runtime/src/main')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java22
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 50b2c5276..744514c87 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
@@ -311,17 +311,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;