diff --git a/src/main/java/com/extendedae_plus/mixin/ae2/accessor/PatternAccessTermScreenAccessor.java b/src/main/java/com/extendedae_plus/mixin/ae2/accessor/PatternAccessTermScreenAccessor.java index 1a24365..7558be1 100644 --- a/src/main/java/com/extendedae_plus/mixin/ae2/accessor/PatternAccessTermScreenAccessor.java +++ b/src/main/java/com/extendedae_plus/mixin/ae2/accessor/PatternAccessTermScreenAccessor.java @@ -13,11 +13,11 @@ import java.util.ArrayList; @Mixin(value = PatternAccessTermScreen.class, remap = false) public interface PatternAccessTermScreenAccessor { @Accessor("scrollbar") - Scrollbar getScrollbar(); + Scrollbar eap$getScrollbar(); @Accessor("visibleRows") - int getVisibleRows(); + int eap$getVisibleRows(); @Accessor("rows") - ArrayList getRows(); + ArrayList eap$getRows(); } \ No newline at end of file diff --git a/src/main/java/com/extendedae_plus/mixin/ae2/accessor/PatternAccessTermScreenSlotsRowAccessor.java b/src/main/java/com/extendedae_plus/mixin/ae2/accessor/PatternAccessTermScreenSlotsRowAccessor.java index 7824844..a6a31fd 100644 --- a/src/main/java/com/extendedae_plus/mixin/ae2/accessor/PatternAccessTermScreenSlotsRowAccessor.java +++ b/src/main/java/com/extendedae_plus/mixin/ae2/accessor/PatternAccessTermScreenSlotsRowAccessor.java @@ -10,11 +10,11 @@ import org.spongepowered.asm.mixin.gen.Accessor; @Mixin(targets = "appeng.client.gui.me.patternaccess.PatternAccessTermScreen$SlotsRow", remap = false) public interface PatternAccessTermScreenSlotsRowAccessor { @Accessor("container") - PatternContainerRecord getContainer(); + PatternContainerRecord eap$getContainer(); @Accessor("offset") - int getOffset(); + int eap$getOffset(); @Accessor("slots") - int getSlots(); + int eap$getSlots(); } \ No newline at end of file diff --git a/src/main/java/com/extendedae_plus/mixin/ae2/client/gui/AEBaseScreenMixin.java b/src/main/java/com/extendedae_plus/mixin/ae2/client/gui/AEBaseScreenMixin.java index 997afc1..bf5f561 100644 --- a/src/main/java/com/extendedae_plus/mixin/ae2/client/gui/AEBaseScreenMixin.java +++ b/src/main/java/com/extendedae_plus/mixin/ae2/client/gui/AEBaseScreenMixin.java @@ -38,7 +38,7 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -@Mixin(AEBaseScreen.class) +@Mixin(value = AEBaseScreen.class, remap = false) public abstract class AEBaseScreenMixin { @Unique @@ -56,7 +56,7 @@ public abstract class AEBaseScreenMixin { * 在 AEBaseScreen 的 mouseClicked 入口拦截 CraftingCPUScreen 的 Shift+左键, * 读取鼠标下的 AEKey 并发送 CraftingMonitorJumpC2SPacket。 */ - @Inject(method = "mouseClicked", at = @At("HEAD"), cancellable = true) + @Inject(method = "mouseClicked", at = @At("HEAD"), cancellable = true, remap = false) private void eap$craftingCpuShiftLeftClick(double mouseX, double mouseY, int button, CallbackInfoReturnable cir) { // 仅处理 CraftingCPUScreen 实例 Object self = this; @@ -90,7 +90,7 @@ public abstract class AEBaseScreenMixin { * 在 AEBaseScreen 的 mouseClicked 入口拦截 CraftingCPUScreen 的 Shift+右键, * 读取鼠标下的 AEKey 并发送 CraftingMonitorOpenProviderC2SPacket(打开样板供应器UI)。 */ - @Inject(method = "mouseClicked", at = @At("HEAD"), cancellable = true) + @Inject(method = "mouseClicked", at = @At("HEAD"), cancellable = true, remap = false) private void eap$craftingCpuShiftRightClick(double mouseX, double mouseY, int button, CallbackInfoReturnable cir) { // 仅处理 CraftingCPUScreen 实例 Object self = this; @@ -153,7 +153,7 @@ public abstract class AEBaseScreenMixin { /** * 重写renderSlot方法,为所有可见的样板槽位添加数量显示 */ - @Inject(method = "renderSlot", at = @At("TAIL")) + @Inject(method = "renderSlot", at = @At("TAIL"), remap = false) private void eap$renderSlotAmounts(GuiGraphics guiGraphics, Slot s, CallbackInfo ci) { Object self = this; diff --git a/src/main/java/com/extendedae_plus/mixin/ae2/client/gui/PatternEncodingTermScreenMixin.java b/src/main/java/com/extendedae_plus/mixin/ae2/client/gui/PatternEncodingTermScreenMixin.java index 4c8d5e9..8d985e1 100644 --- a/src/main/java/com/extendedae_plus/mixin/ae2/client/gui/PatternEncodingTermScreenMixin.java +++ b/src/main/java/com/extendedae_plus/mixin/ae2/client/gui/PatternEncodingTermScreenMixin.java @@ -27,13 +27,13 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; * 点击后把当前“已编码样板”上传到任意可用的样板供应器(服务端自动选择)。 * 通过解析 AE2 样式中 encodePattern 的坐标,将按钮放在其左侧紧挨位置。 */ -@Mixin(AEBaseScreen.class) +@Mixin(value = AEBaseScreen.class, remap = false) public abstract class PatternEncodingTermScreenMixin { @Unique private IconButton eap$uploadBtn; - @Inject(method = "init", at = @At("TAIL")) + @Inject(method = "init", at = @At("TAIL"), remap = false) private void eap$addUploadButton(CallbackInfo ci) { // 仅在图样编码终端界面中添加按钮 if (!(((Object) this) instanceof PatternEncodingTermScreen)) { @@ -139,7 +139,7 @@ public abstract class PatternEncodingTermScreenMixin { } } - @Inject(method = "containerTick", at = @At("TAIL")) + @Inject(method = "containerTick", at = @At("TAIL"), remap = false) private void eap$ensureUploadButton(CallbackInfo ci) { if (!(((Object) this) instanceof PatternEncodingTermScreen)) { return; diff --git a/src/main/java/com/extendedae_plus/mixin/ae2/client/gui/PatternProviderScreenMixin.java b/src/main/java/com/extendedae_plus/mixin/ae2/client/gui/PatternProviderScreenMixin.java index 839f903..7390de8 100644 --- a/src/main/java/com/extendedae_plus/mixin/ae2/client/gui/PatternProviderScreenMixin.java +++ b/src/main/java/com/extendedae_plus/mixin/ae2/client/gui/PatternProviderScreenMixin.java @@ -28,7 +28,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; * - 位于左侧工具栏 * - 点击仅发送 C2S 切换请求;状态由 AE2 @GuiSync 回传决定 */ -@Mixin(PatternProviderScreen.class) +@Mixin(value = PatternProviderScreen.class, remap = false) public abstract class PatternProviderScreenMixin extends AEBaseScreen { @Unique @@ -47,7 +47,7 @@ public abstract class PatternProviderScreenMixin super(menu, playerInventory, title, style); } - @Inject(method = "", at = @At("RETURN")) + @Inject(method = "", at = @At("RETURN"), remap = false) private void eap$initAdvancedBlocking(C menu, Inventory playerInventory, Component title, ScreenStyle style, CallbackInfo ci) { // 使用 @GuiSync 初始化 try { diff --git a/src/main/resources/extendedaeplus.mixins.json b/src/main/resources/extendedaeplus.mixins.json index 9c7b04f..494710b 100644 --- a/src/main/resources/extendedaeplus.mixins.json +++ b/src/main/resources/extendedaeplus.mixins.json @@ -6,7 +6,6 @@ "ae2.accessor.PatternProviderLogicAccessor", "ae2.accessor.PatternProviderLogicPatternsAccessor", "ae2.accessor.PatternProviderMenuAdvancedAccessor", - "ae2.client.gui.PatternProviderScreenMixin", "ae2.menu.PatternProviderMenuAdvancedMixin", "ae2.menu.PatternProviderMenuDoublingMixin", "ae2.helpers.PatternProviderLogicAdvancedMixin", @@ -14,6 +13,7 @@ "ae2.AEProcessingPatternMixin", "ae2.autopattern.CraftingTreeNodeAccessor", "ae2.autopattern.CraftingTreeProcessMixin", + "ae2.accessor.PatternProviderLogicPatternInputsAccessor", "extendedae.common.PartExPatternProviderMixin", "extendedae.common.TileExPatternProviderMixin", "extendedae.container.ContainerExPatternProviderMixin", @@ -24,10 +24,15 @@ "ae2.accessor.PatternEncodingTermMenuAccessor" ], "client": [ + "ae2.client.gui.AEBaseScreenMixin", "ae2.client.gui.PatternEncodingTermScreenMixin", + "ae2.client.gui.PatternProviderScreenMixin", "ae2.accessor.AEBaseScreenAccessor", + "ae2.accessor.MEStorageScreenAccessor", "accessor.AbstractContainerScreenAccessor", "accessor.ScreenAccessor", + "ae2.accessor.PatternAccessTermScreenAccessor", + "ae2.accessor.PatternAccessTermScreenSlotsRowAccessor", "extendedae.accessor.GuiExPatternTerminalAccessor" ], "injectors": {