From 2be3671902be0c62787e9fc2798233464467cdd5 Mon Sep 17 00:00:00 2001 From: GaLi <3096147684@qq.com> Date: Tue, 3 Mar 2026 19:56:23 +0800 Subject: [PATCH] =?UTF-8?q?CtrlQ=E4=B8=8A=E4=BC=A0=E5=A4=84=E7=90=86?= =?UTF-8?q?=E6=A0=B7=E6=9D=BF=E5=86=99=E5=85=A5=E6=90=9C=E7=B4=A2=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/event/CtrlQPatternKeyHandler.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/com/extendedae_plus/client/event/CtrlQPatternKeyHandler.java b/src/main/java/com/extendedae_plus/client/event/CtrlQPatternKeyHandler.java index f377c6c..02dece3 100644 --- a/src/main/java/com/extendedae_plus/client/event/CtrlQPatternKeyHandler.java +++ b/src/main/java/com/extendedae_plus/client/event/CtrlQPatternKeyHandler.java @@ -336,6 +336,19 @@ public final class CtrlQPatternKeyHandler { private static void setLastProcessingNameFromRecipe(Object recipeBase) { String name = null; + + // 处理 RecipeHolder + if (recipeBase != null && "net.minecraft.world.item.crafting.RecipeHolder".equals(recipeBase.getClass().getName())) { + try { + var valueMethod = recipeBase.getClass().getMethod("value"); + Object actualRecipe = valueMethod.invoke(recipeBase); + if (actualRecipe != null) { + recipeBase = actualRecipe; + } + } catch (Throwable ignored) { + } + } + if (recipeBase instanceof Recipe recipe) { name = ExtendedAEPatternUploadUtil.mapRecipeTypeToSearchKey(recipe); } else if (recipeBase != null