From 687652daf807a0836c5c819c6c2e6805634099fb Mon Sep 17 00:00:00 2001 From: GaLicn <3096147684@qq.com> Date: Thu, 14 Aug 2025 01:58:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=88=8D=E5=BC=83=E6=8C=89=E9=92=AE=EF=BC=8C?= =?UTF-8?q?=E6=94=B9=E7=94=A8=E7=82=B9=E5=87=BB=E7=BC=96=E7=A0=81=E6=8C=89?= =?UTF-8?q?=E9=94=AE=E8=87=AA=E5=8A=A8=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ContainerPatternEncodingTermMenuMixin.java | 11 +++++++++-- .../mixin/GuiPatternEncodingTermMixin.java | 9 --------- .../mixin/accessor/AEBaseScreenAccessor.java | 12 ------------ .../mixin/accessor/IClientEncodeUploadMarker.java | 10 ---------- .../mixin/accessor/ScreenAccessor.java | 14 -------------- src/main/resources/extendedae_plus.mixins.json | 5 +---- 6 files changed, 10 insertions(+), 51 deletions(-) delete mode 100644 src/main/java/com/extendedae_plus/mixin/GuiPatternEncodingTermMixin.java delete mode 100644 src/main/java/com/extendedae_plus/mixin/accessor/AEBaseScreenAccessor.java delete mode 100644 src/main/java/com/extendedae_plus/mixin/accessor/IClientEncodeUploadMarker.java delete mode 100644 src/main/java/com/extendedae_plus/mixin/accessor/ScreenAccessor.java diff --git a/src/main/java/com/extendedae_plus/mixin/ContainerPatternEncodingTermMenuMixin.java b/src/main/java/com/extendedae_plus/mixin/ContainerPatternEncodingTermMenuMixin.java index ce90a4a..8e66430 100644 --- a/src/main/java/com/extendedae_plus/mixin/ContainerPatternEncodingTermMenuMixin.java +++ b/src/main/java/com/extendedae_plus/mixin/ContainerPatternEncodingTermMenuMixin.java @@ -103,8 +103,15 @@ public abstract class ContainerPatternEncodingTermMenuMixin implements IActionHo if (!PatternDetailsHelper.isEncodedPattern(stack)) { return; // 不是编码样板 } - // 为兼容整合包中可能出现的延后写槽位/同步,增加多次重试(共 5 次,每次间隔 1 tick) - epp$scheduleUploadWithRetry(sp, menu, 5); + // 为避免与 AE2 后续同步竞争,切到下一 tick 执行 + sp.server.execute(() -> { + try { + ExtendedAEPatternUploadUtil.uploadFromEncodingMenuToMatrix(sp, menu); + } catch (Throwable t) { + System.out.println("[EAE+][Server] Auto-upload after encode failed: " + t); + t.printStackTrace(); + } + }); } catch (Throwable t) { System.out.println("[EAE+][Server] epp$serverUploadAfterEncode error: " + t); t.printStackTrace(); diff --git a/src/main/java/com/extendedae_plus/mixin/GuiPatternEncodingTermMixin.java b/src/main/java/com/extendedae_plus/mixin/GuiPatternEncodingTermMixin.java deleted file mode 100644 index 4ee72aa..0000000 --- a/src/main/java/com/extendedae_plus/mixin/GuiPatternEncodingTermMixin.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.extendedae_plus.mixin; - -import appeng.client.gui.me.items.PatternEncodingTermScreen; -import org.spongepowered.asm.mixin.Mixin; - -// 保留空的 Mixin 外壳,不再注入任何“上传到矩阵”相关逻辑或按钮 -@Mixin(PatternEncodingTermScreen.class) -public abstract class GuiPatternEncodingTermMixin { -} diff --git a/src/main/java/com/extendedae_plus/mixin/accessor/AEBaseScreenAccessor.java b/src/main/java/com/extendedae_plus/mixin/accessor/AEBaseScreenAccessor.java deleted file mode 100644 index 0bf26f1..0000000 --- a/src/main/java/com/extendedae_plus/mixin/accessor/AEBaseScreenAccessor.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.extendedae_plus.mixin.accessor; - -import net.minecraft.client.gui.components.Button; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Invoker; -import appeng.client.gui.AEBaseScreen; - -@Mixin(AEBaseScreen.class) -public interface AEBaseScreenAccessor { - @Invoker(value = "addToLeftToolbar", remap = false) - B epp$addToLeftToolbar(B button); -} diff --git a/src/main/java/com/extendedae_plus/mixin/accessor/IClientEncodeUploadMarker.java b/src/main/java/com/extendedae_plus/mixin/accessor/IClientEncodeUploadMarker.java deleted file mode 100644 index 69ad5a2..0000000 --- a/src/main/java/com/extendedae_plus/mixin/accessor/IClientEncodeUploadMarker.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.extendedae_plus.mixin.accessor; - -/** - * 客户端在点击“编写样板”时记录一个待上传标记, - * 当客户端检测到已编码样板槽位被服务器回传填充后,再发送上传请求。 - */ -public interface IClientEncodeUploadMarker { - boolean epp$getClientUploadAfterEncode(); - void epp$setClientUploadAfterEncode(boolean v); -} diff --git a/src/main/java/com/extendedae_plus/mixin/accessor/ScreenAccessor.java b/src/main/java/com/extendedae_plus/mixin/accessor/ScreenAccessor.java deleted file mode 100644 index c7d286b..0000000 --- a/src/main/java/com/extendedae_plus/mixin/accessor/ScreenAccessor.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.extendedae_plus.mixin.accessor; - -import net.minecraft.client.gui.components.events.GuiEventListener; -import net.minecraft.client.gui.narration.NarratableEntry; -import net.minecraft.client.gui.screens.Screen; -import net.minecraft.client.gui.components.Renderable; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Invoker; - -@Mixin(Screen.class) -public interface ScreenAccessor { - @Invoker("addRenderableWidget") - T epp$invokeAddRenderableWidget(T widget); -} diff --git a/src/main/resources/extendedae_plus.mixins.json b/src/main/resources/extendedae_plus.mixins.json index 645e73a..f36af20 100644 --- a/src/main/resources/extendedae_plus.mixins.json +++ b/src/main/resources/extendedae_plus.mixins.json @@ -7,10 +7,7 @@ "GuiExPatternProviderMixin", "SlotGridLayoutMixin", "GuiExPatternTerminalMixin", - "HighlightButtonMixin", - "GuiPatternEncodingTermMixin", - "accessor.AEBaseScreenAccessor", - "accessor.ScreenAccessor" + "HighlightButtonMixin" ], "mixins": [ "ContainerExPatternProviderMixin",