From 48c00efc836f0e3709c0da3db0d616624e5dbdfb Mon Sep 17 00:00:00 2001 From: GaLi Date: Wed, 3 Dec 2025 11:19:15 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E9=80=82=E9=85=8D=E8=B6=85=E7=BA=A7=E8=A3=85=E9=85=8D=E7=9F=A9?= =?UTF-8?q?=E9=98=B5=E6=A0=B7=E6=9D=BF=E6=A0=B8=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../util/uploadPattern/MatrixUploadUtil.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/main/java/com/extendedae_plus/util/uploadPattern/MatrixUploadUtil.java b/src/main/java/com/extendedae_plus/util/uploadPattern/MatrixUploadUtil.java index 863179e..e8eb1e6 100644 --- a/src/main/java/com/extendedae_plus/util/uploadPattern/MatrixUploadUtil.java +++ b/src/main/java/com/extendedae_plus/util/uploadPattern/MatrixUploadUtil.java @@ -11,6 +11,7 @@ import appeng.crafting.pattern.AESmithingTablePattern; import appeng.crafting.pattern.AEStonecuttingPattern; import appeng.menu.me.items.PatternEncodingTermMenu; import appeng.menu.slot.RestrictedInputSlot; +import com.extendedae_plus.content.matrix.PatternCorePlusBlockEntity; import com.extendedae_plus.content.matrix.UploadCoreBlockEntity; import com.extendedae_plus.mixin.ae2.accessor.PatternEncodingTermMenuAccessor; import com.glodblock.github.extendedae.common.me.matrix.ClusterAssemblerMatrix; @@ -97,6 +98,8 @@ public final class MatrixUploadUtil { try { // 获取网络中所有 Pattern Tile Set allTiles = grid.getMachines(TileAssemblerMatrixPattern.class); + Set myAllTiles = grid.getMachines(PatternCorePlusBlockEntity.class); + // 用 Set 记录已经扫描过的集群,避免重复调用 clusterHasSingleUploadCore Set scannedClusters = new HashSet<>(); @@ -116,6 +119,24 @@ public final class MatrixUploadUtil { } } } + + for (PatternCorePlusBlockEntity myTile : myAllTiles) { + if (myTile == null || !myTile.isFormed() || !myTile.getMainNode().isActive()) continue; + + ClusterAssemblerMatrix cluster = myTile.getCluster(); + if (cluster == null) continue; + + // 如果该集群已经扫描过,或者该集群含 UploadCore,则处理 tile + if (scannedClusters.contains(cluster) || clusterHasSingleUploadCore(cluster)) { + scannedClusters.add(cluster); // 标记为已扫描 + + InternalInventory inv = myTile.getExposedInventory(); + if (inv != null) { + result.add(inv); + } + } + } + } catch (Throwable ignored) {} return result; } From 22070a5343d1746bade1252755322e1591d582ca Mon Sep 17 00:00:00 2001 From: GaLi Date: Fri, 5 Dec 2025 10:55:29 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=A3=80=E6=B5=8B=E7=9B=B8=E5=90=8C?= =?UTF-8?q?=E6=A0=B7=E6=9D=BF=E5=BF=BD=E7=95=A5xxx=E7=8E=A9=E5=AE=B6?= =?UTF-8?q?=E7=BC=96=E5=86=99tag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../util/uploadPattern/MatrixUploadUtil.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/extendedae_plus/util/uploadPattern/MatrixUploadUtil.java b/src/main/java/com/extendedae_plus/util/uploadPattern/MatrixUploadUtil.java index e8eb1e6..dbec59c 100644 --- a/src/main/java/com/extendedae_plus/util/uploadPattern/MatrixUploadUtil.java +++ b/src/main/java/com/extendedae_plus/util/uploadPattern/MatrixUploadUtil.java @@ -147,9 +147,17 @@ public final class MatrixUploadUtil { private static boolean matrixContainsPattern(@NotNull List inventories, @NotNull ItemStack pattern) { for (InternalInventory inv : inventories) { if (inv == null) continue; + ItemStack patternCopy = pattern.copy(); + if (patternCopy.getTag() != null) { + patternCopy.getTag().remove("encodePlayer"); + } for (int i = 0; i < inv.size(); i++) { ItemStack s = inv.getStackInSlot(i); - if (!s.isEmpty() && ItemStack.isSameItemSameTags(s, pattern)) { + ItemStack sCopy = s.copy(); + if (sCopy.getTag() != null) { + sCopy.getTag().remove("encodePlayer"); + } + if (!s.isEmpty() && ItemStack.isSameItemSameTags(sCopy, patternCopy)) { return true; } } From 0db3442d44d62a0700ff91abc45c5ccb760704e1 Mon Sep 17 00:00:00 2001 From: GaLi Date: Fri, 5 Dec 2025 10:57:42 +0800 Subject: [PATCH 3/4] 150fix --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 4bc2ffc..6b05775 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G loom.platform = forge # Mod properties -mod_version = 1.5.0 +mod_version = 1.5.0-fix maven_group = com.extendedae_plus archives_name = extendedae_plus From 0cc45162bed02a20152cefb1c552b4bf2a0dfeac Mon Sep 17 00:00:00 2001 From: GaLi Date: Fri, 5 Dec 2025 15:02:31 +0800 Subject: [PATCH 4/4] =?UTF-8?q?shift=E4=B8=8A=E4=BC=A0=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=8F=8D=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mixin/ae2/menu/ContainerPatternEncodingTermMenuMixin.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/extendedae_plus/mixin/ae2/menu/ContainerPatternEncodingTermMenuMixin.java b/src/main/java/com/extendedae_plus/mixin/ae2/menu/ContainerPatternEncodingTermMenuMixin.java index cbaed55..9be79db 100644 --- a/src/main/java/com/extendedae_plus/mixin/ae2/menu/ContainerPatternEncodingTermMenuMixin.java +++ b/src/main/java/com/extendedae_plus/mixin/ae2/menu/ContainerPatternEncodingTermMenuMixin.java @@ -104,8 +104,8 @@ public abstract class ContainerPatternEncodingTermMenuMixin implements IActionHo if (!(this.epp$player instanceof ServerPlayer sp)) { return; // 仅服务器执行 } - if (!this.eap$consumeShiftUploadFlag()) { - return; // 未按下 Shift,不自动上传 + if (this.eap$consumeShiftUploadFlag()) { + return; // 按下 Shift,不自动上传 } var menu = (PatternEncodingTermMenu) (Object) this; if (menu.getMode() != EncodingMode.CRAFTING