From 3d8bfdc9514ad99321668429082f7b306f6cdbc2 Mon Sep 17 00:00:00 2001 From: vcwdfca <15739220+vcwdfca@user.noreply.gitee.com> Date: Sun, 10 May 2026 17:04:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=B0=86=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E7=89=A9=E5=93=81=E7=9A=84=E5=90=8D=E7=A7=B0=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E5=88=B0ae=E6=90=9C=E7=B4=A2=E6=A1=86=E7=9A=84=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mixin/ae2/gui/MixinGuiMEMonitorable.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/main/java/com/circulation/random_complement/mixin/ae2/gui/MixinGuiMEMonitorable.java b/src/main/java/com/circulation/random_complement/mixin/ae2/gui/MixinGuiMEMonitorable.java index 703d694..01512a9 100644 --- a/src/main/java/com/circulation/random_complement/mixin/ae2/gui/MixinGuiMEMonitorable.java +++ b/src/main/java/com/circulation/random_complement/mixin/ae2/gui/MixinGuiMEMonitorable.java @@ -4,6 +4,7 @@ import appeng.api.storage.data.IAEStack; import appeng.api.storage.data.IItemList; import appeng.client.gui.implementations.GuiMEMonitorable; +import appeng.client.gui.widgets.MEGuiTextField; import appeng.client.me.ItemRepo; import appeng.container.implementations.ContainerMEMonitorable; import appeng.container.implementations.ContainerPatternEncoder; @@ -17,8 +18,11 @@ import com.circulation.random_complement.common.util.MEHandler; import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; import it.unimi.dsi.fastutil.objects.ObjectSets; +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.gui.GuiButton; import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; import org.lwjgl.input.Mouse; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; @@ -46,8 +50,12 @@ public abstract class MixinGuiMEMonitorable extends MixinAEBaseGui implements RC @Final @Shadow(remap = false) private ContainerMEMonitorable monitorableContainer; + @Shadow(remap = false) + private MEGuiTextField searchField; @Unique private RCGuiButton randomComplement$AutoFillPattern; + @Shadow(remap = false) + protected abstract void setScrollBar(); public MixinGuiMEMonitorable(Container container) { super(container); @@ -137,4 +145,15 @@ public void drawFG(int offsetX, int offsetY, int mouseX, int mouseY, CallbackInf randomComplement$cpuCache.addAll(list); } + @Inject(method = "mouseClicked", at = @At(value = "INVOKE", target = "Lappeng/client/gui/AEBaseMEGui;mouseClicked(III)V")) + private void r$handleItemOnMouse(int xCoord, int yCoord, int btn, CallbackInfo ci) { + EntityPlayerSP player = Minecraft.getMinecraft().player; + ItemStack mouseItem = player.inventory.getItemStack(); + if(btn == 0 && this.searchField.isMouseIn(xCoord, yCoord) && !mouseItem.isEmpty()) { + String name = mouseItem.getDisplayName(); + this.searchField.setText(name); + this.repo.setSearchString(name); + this.setScrollBar(); + } + } } \ No newline at end of file