From 986e99beb15303c825e30e383d134d543e6f54ae Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sat, 29 Jan 2022 23:34:20 +0800 Subject: Fix #744 --- .../me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'runtime/src') diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java index 53029ff4b..f1239135e 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java @@ -59,6 +59,7 @@ import me.shedaniel.rei.api.client.registry.transfer.TransferHandler; import me.shedaniel.rei.api.common.display.Display; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes; +import me.shedaniel.rei.api.common.plugins.PluginManager; import me.shedaniel.rei.api.common.util.EntryStacks; import me.shedaniel.rei.impl.client.ClientHelperImpl; import me.shedaniel.rei.impl.client.config.ConfigManagerImpl; @@ -87,7 +88,6 @@ import org.jetbrains.annotations.Nullable; import java.util.Collections; import java.util.Comparator; import java.util.List; -import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -568,7 +568,6 @@ public class EntryListWidget extends WidgetWithBounds implements OverlayListWidg private class EntryListEntry extends EntryListEntryWidget { private Display display; - private Optional transferHandler; private EntryListEntry(int x, int y, int entrySize) { super(new Point(x, y), entrySize); @@ -580,6 +579,10 @@ public class EntryListWidget extends WidgetWithBounds implements OverlayListWidg } public TransferHandler getTransferHandler() { + if (PluginManager.areAnyReloading()) { + return null; + } + for (List displays : DisplayRegistry.getInstance().getAll().values()) { for (Display display : displays) { if (ViewsImpl.isRecipesFor(getEntries(), display)) { @@ -617,7 +620,7 @@ public class EntryListWidget extends WidgetWithBounds implements OverlayListWidg AbstractContainerScreen containerScreen = REIRuntime.getInstance().getPreviousContainerScreen(); TransferHandler.Context context = TransferHandler.Context.create(true, Screen.hasShiftDown() || button == 1, containerScreen, display); TransferHandler.Result transferResult = handler.handle(context); - + if (transferResult.isBlocking()) { if (transferResult.isReturningToScreen() && Minecraft.getInstance().screen != containerScreen) { Minecraft.getInstance().setScreen(containerScreen); -- cgit