From d1e91e2e2ffa317a52e659f2ca2b76800108f427 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sat, 6 Nov 2021 19:14:30 +0800 Subject: Fix JEI slot overlay, normalize dragging stacks and fix #651 --- .../rei/impl/client/entry/filtering/rules/SearchFilteringRule.java | 2 +- .../java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java | 4 +++- .../java/me/shedaniel/rei/impl/client/search/AsyncSearchManager.java | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'runtime/src/main/java') diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/rules/SearchFilteringRule.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/rules/SearchFilteringRule.java index 6a17af517..9e00dec60 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/rules/SearchFilteringRule.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/rules/SearchFilteringRule.java @@ -113,7 +113,7 @@ public class SearchFilteringRule extends AbstractFilteringRule { List> output = Lists.newArrayList(); for (EntryStack stack : partitionStacks) { - if (filter.test(stack)) { + if (stack != null && filter.test(stack)) { output.add(stack); } } 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 f1693459b..69adad877 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 @@ -473,7 +473,9 @@ public class EntryWidget extends Slot implements DraggableStackProviderWidget { public DraggableStack getHoveredStack(DraggingContext context, double mouseX, double mouseY) { if (!getCurrentEntry().isEmpty() && containsMouse(mouseX, mouseY)) { return new DraggableStack() { - EntryStack stack = getCurrentEntry().copy(); + EntryStack stack = getCurrentEntry().copy() + .removeSetting(EntryStack.Settings.RENDERER) + .removeSetting(EntryStack.Settings.FLUID_RENDER_RATIO); @Override public EntryStack getStack() { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/search/AsyncSearchManager.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/search/AsyncSearchManager.java index 2d0929f03..2a431e8ee 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/search/AsyncSearchManager.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/search/AsyncSearchManager.java @@ -103,7 +103,7 @@ public class AsyncSearchManager { futures.add(CompletableFuture.supplyAsync(() -> { List> filtered = Lists.newArrayList(); for (EntryStack stack : partitionStacks) { - if (matches(stack) && additionalPredicate.test(stack)) { + if (stack != null && matches(stack) && additionalPredicate.test(stack)) { filtered.add(transformer.apply(stack)); } } -- cgit