From 88e65874862ed8c9dc79d731a813be39ea903418 Mon Sep 17 00:00:00 2001 From: C-H716 <1536152356@qq.com> Date: Tue, 2 Sep 2025 20:55:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0=E4=BE=9B=E5=BA=94?= =?UTF-8?q?=E5=99=A8Gui=E7=95=8C=E9=9D=A2=E6=98=BE=E7=A4=BA=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=9A=84=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ae2/client/gui/AEBaseScreenMixin.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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 0fcb7bd..b741be3 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 @@ -6,6 +6,7 @@ import appeng.client.Point; import appeng.client.gui.AEBaseScreen; import appeng.client.gui.StackWithBounds; import appeng.client.gui.TextOverride; +import appeng.client.gui.implementations.PatternProviderScreen; import appeng.client.gui.me.crafting.CraftingCPUScreen; import appeng.client.gui.style.PaletteColor; import appeng.client.gui.style.ScreenStyle; @@ -29,6 +30,7 @@ import net.minecraft.network.chat.contents.TranslatableContents; import net.minecraft.world.inventory.Slot; import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -308,4 +310,21 @@ public abstract class AEBaseScreenMixin { } catch (Throwable ignored) { } } + + + @Shadow + protected void setTextContent(String id, Component content) {}; + + @Inject(method = "updateBeforeRender", at = @At("RETURN"), remap = false) + private void onUpdateBeforeRender(CallbackInfo ci) { + try { + AEBaseScreen self = (AEBaseScreen) (Object) this; + if (self instanceof PatternProviderScreen screen){ + Component t = screen.getTitle(); + if (t != null && !t.getString().isEmpty()) { + this.setTextContent(AEBaseScreen.TEXT_ID_DIALOG_TITLE, t); + } + } + } catch (Throwable ignored) {} + } }