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 c2a5b31..0b09a57 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 @@ -113,11 +113,12 @@ public abstract class ContainerPatternEncodingTermMenuMixin implements IActionHo } } - // 服务器端:在构造样板返回前插入编码玩家的名称 - @Inject(method = "encodePattern", at = @At("TAIL"), remap = false, cancellable = true) - private void eap$writeEncodePlayerToPattern(CallbackInfoReturnable cir) { + @Inject(method = "encodePattern", at = @At("RETURN"), remap = false, cancellable = true) + private void onEncodePatternReturn(CallbackInfoReturnable cir) { ItemStack itemStack = cir.getReturnValue(); - itemStack.getOrCreateTag().putString("encodePlayer", this.epp$player.getGameProfile().getName()); - cir.setReturnValue(itemStack); + if (itemStack != null && !itemStack.isEmpty()) { + itemStack.getOrCreateTag().putString("encodePlayer", this.epp$player.getGameProfile().getName()); + cir.setReturnValue(itemStack); + } } } diff --git a/src/main/resources/extendedae_plus.mixins.json b/src/main/resources/extendedae_plus.mixins.json index ce2f7a0..6b6f79d 100644 --- a/src/main/resources/extendedae_plus.mixins.json +++ b/src/main/resources/extendedae_plus.mixins.json @@ -31,6 +31,7 @@ "mixins": [ "ae2.AEProcessingPatternMixin", "ae2.CraftingCPUClusterMixin", + "ae2.EncodedPatternItemMixin", "ae2.accessor.MEStorageMenuAccessor", "ae2.accessor.PatternEncodingTermMenuAccessor", "ae2.accessor.PatternProviderLogicAccessor",