修复JEI强依赖问题

This commit is contained in:
GaLi 2026-04-01 11:55:02 +08:00
parent af35ee9d97
commit 3cdfa0ae82
6 changed files with 16 additions and 11 deletions

View File

@ -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

View File

@ -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

View File

@ -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() {}

View File

@ -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;
*
* <p>应用 JEI 书签优先级选择材料优先选择工作台配方</p>
*/
@Mod.EventBusSubscriber(modid = ExtendedAEPlus.MODID, value = Dist.CLIENT)
public class CtrlQPatternKeyHandler {
@SubscribeEvent

View File

@ -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");

View File

@ -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) {
}
}
}
}