From 3cdfa0ae822f8287fde76e3fd34e82324e722cd5 Mon Sep 17 00:00:00 2001 From: GaLi <3096147684@qq.com> Date: Wed, 1 Apr 2026 11:55:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DJEI=E5=BC=BA=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- src/main/java/com/extendedae_plus/ExtendedAEPlus.java | 8 ++++++++ src/main/java/com/extendedae_plus/client/InputEvents.java | 4 ---- .../client/event/CtrlQPatternKeyHandler.java | 5 ----- .../java/com/extendedae_plus/mixin/MixinConditions.java | 5 +++++ .../mixin/ae2/menu/CraftConfirmMenuGoBackMixin.java | 3 ++- 6 files changed, 16 insertions(+), 11 deletions(-) diff --git a/gradle.properties b/gradle.properties index 014f32a..14a40b2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G loom.platform = forge org.gradle.parallel=true -mod_version = 1.5.3 +mod_version = 1.5.4-alpha maven_group = com.extendedae_plus archives_name = extendedae_plus diff --git a/src/main/java/com/extendedae_plus/ExtendedAEPlus.java b/src/main/java/com/extendedae_plus/ExtendedAEPlus.java index d337e25..d59ce94 100644 --- a/src/main/java/com/extendedae_plus/ExtendedAEPlus.java +++ b/src/main/java/com/extendedae_plus/ExtendedAEPlus.java @@ -24,6 +24,7 @@ import net.minecraftforge.event.TickEvent; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.ModList; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; @@ -150,6 +151,13 @@ public class ExtendedAEPlus { // 菜单 -> 屏幕 绑定 ClientRegistrar.registerMenuScreens(); + + event.enqueueWork(() -> { + if (ModList.get().isLoaded("jei")) { + MinecraftForge.EVENT_BUS.register(com.extendedae_plus.client.InputEvents.class); + MinecraftForge.EVENT_BUS.register(com.extendedae_plus.client.event.CtrlQPatternKeyHandler.class); + } + }); } @SubscribeEvent diff --git a/src/main/java/com/extendedae_plus/client/InputEvents.java b/src/main/java/com/extendedae_plus/client/InputEvents.java index 86ae924..a0ee4fa 100644 --- a/src/main/java/com/extendedae_plus/client/InputEvents.java +++ b/src/main/java/com/extendedae_plus/client/InputEvents.java @@ -3,7 +3,6 @@ package com.extendedae_plus.client; import appeng.api.stacks.GenericStack; import appeng.client.gui.me.common.MEStorageScreen; import appeng.integration.modules.jei.GenericEntryStackHelper; -import com.extendedae_plus.ExtendedAEPlus; import com.extendedae_plus.init.ModNetwork; import com.extendedae_plus.integration.jei.JeiRuntimeProxy; import com.extendedae_plus.mixin.ae2.accessor.MEStorageScreenAccessor; @@ -14,16 +13,13 @@ import com.glodblock.github.extendedae.client.gui.GuiExPatternTerminal; import mezz.jei.api.ingredients.ITypedIngredient; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.Screen; -import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.client.event.ScreenEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.ModList; -import net.minecraftforge.fml.common.Mod; import org.lwjgl.glfw.GLFW; import java.util.Optional; -@Mod.EventBusSubscriber(modid = ExtendedAEPlus.MODID, value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.FORGE) public final class InputEvents { private InputEvents() {} 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 4021621..c4fd3a4 100644 --- a/src/main/java/com/extendedae_plus/client/event/CtrlQPatternKeyHandler.java +++ b/src/main/java/com/extendedae_plus/client/event/CtrlQPatternKeyHandler.java @@ -1,6 +1,5 @@ package com.extendedae_plus.client.event; -import com.extendedae_plus.ExtendedAEPlus; import com.extendedae_plus.client.ModKeybindings; import com.extendedae_plus.init.ModNetwork; import com.extendedae_plus.integration.jei.JeiRuntimeProxy; @@ -19,11 +18,8 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Recipe; -import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.client.event.ScreenEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; -import org.lwjgl.glfw.GLFW; import java.sql.SQLOutput; import java.util.HashMap; @@ -37,7 +33,6 @@ import java.util.concurrent.atomic.AtomicInteger; * *
应用 JEI 书签优先级选择材料,优先选择工作台配方
*/ -@Mod.EventBusSubscriber(modid = ExtendedAEPlus.MODID, value = Dist.CLIENT) public class CtrlQPatternKeyHandler { @SubscribeEvent diff --git a/src/main/java/com/extendedae_plus/mixin/MixinConditions.java b/src/main/java/com/extendedae_plus/mixin/MixinConditions.java index 00c171e..ccf7232 100644 --- a/src/main/java/com/extendedae_plus/mixin/MixinConditions.java +++ b/src/main/java/com/extendedae_plus/mixin/MixinConditions.java @@ -41,6 +41,11 @@ public class MixinConditions implements IMixinConfigPlugin { return ModCheckUtils.isLoaded(ModCheckUtils.MODID_APPFLUX); } + // === JEI 兼容 === + if (mixinClassName.startsWith("com.extendedae_plus.mixin.jei.")) { + return ModCheckUtils.isLoaded("jei"); + } + // === GuideME 版本兼容 === if (mixinClassName.startsWith("com.extendedae_plus.mixin.guideme.")) { return ModCheckUtils.isLoadedAndLowerThan(ModCheckUtils.MODID_GUIDEME, "20.1.14"); diff --git a/src/main/java/com/extendedae_plus/mixin/ae2/menu/CraftConfirmMenuGoBackMixin.java b/src/main/java/com/extendedae_plus/mixin/ae2/menu/CraftConfirmMenuGoBackMixin.java index c5e2d23..e6585b8 100644 --- a/src/main/java/com/extendedae_plus/mixin/ae2/menu/CraftConfirmMenuGoBackMixin.java +++ b/src/main/java/com/extendedae_plus/mixin/ae2/menu/CraftConfirmMenuGoBackMixin.java @@ -35,6 +35,7 @@ public class CraftConfirmMenuGoBackMixin { shiftDown = Screen.hasShiftDown(); } catch (Throwable ignored) {} if (!shiftDown) return; + if (!ModList.get().isLoaded("jei")) return; // 获取合成计划摘要 CraftingPlanSummary plan = self.getPlan(); @@ -70,4 +71,4 @@ public class CraftConfirmMenuGoBackMixin { } catch (Throwable ignored) { } } -} \ No newline at end of file +}