From a211ec172bcd467a3f6c10ab68e65f8624e9387c 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 ab4e19fc2..64de63fa7 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 @@ -474,7 +474,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