From f24e014bd717d2b2283d1dc776b30ba0b5b17490 Mon Sep 17 00:00:00 2001 From: Kogepan229 <73163994+Kogepan229@users.noreply.github.com> Date: Wed, 17 Dec 2025 02:14:23 +0900 Subject: [PATCH] Fix universal terminal mode switch in baubles slot (#378) --- .../github/client/UltraTerminalButtons.java | 23 +++++++++++++++---- .../item/ItemWirelessUltraTerminal.java | 2 +- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/glodblock/github/client/UltraTerminalButtons.java b/src/main/java/com/glodblock/github/client/UltraTerminalButtons.java index f728d436..9cf32a83 100644 --- a/src/main/java/com/glodblock/github/client/UltraTerminalButtons.java +++ b/src/main/java/com/glodblock/github/client/UltraTerminalButtons.java @@ -7,10 +7,12 @@ import static com.glodblock.github.inventory.item.WirelessMagnet.modeKey; import java.util.List; import net.minecraft.client.gui.GuiButton; +import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import com.glodblock.github.FluidCraft; import com.glodblock.github.client.gui.GuiFCImgButton; +import com.glodblock.github.common.item.ItemWirelessUltraTerminal; import com.glodblock.github.inventory.item.WirelessMagnet; import com.glodblock.github.network.CPacketFluidPatternTermBtns; import com.glodblock.github.network.CPacketSwitchGuis; @@ -24,6 +26,8 @@ public class UltraTerminalButtons implements ICustomButtonDataObject { public static String restockItems = "restock"; + private ItemStack terminal; + private GuiFCImgButton CraftingTerminal; private GuiFCImgButton PatternTerminal; private GuiFCImgButton InterfaceTerminal; @@ -45,6 +49,10 @@ public class UltraTerminalButtons implements ICustomButtonDataObject { private int offset; + public UltraTerminalButtons(ItemStack terminal) { + this.terminal = terminal; + } + public void initCustomButtons(int guiLeft, int guiTop, int xSize, int ySize, int xOffset, int yOffset, List buttonList) { this.offset = yOffset; @@ -93,16 +101,21 @@ public class UltraTerminalButtons implements ICustomButtonDataObject { @Override public boolean actionPerformedCustomButtons(final GuiButton btn) { if (btn instanceof GuiFCImgButton) { + UltraTerminalModes mode = null; if (btn == this.CraftingTerminal) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketSwitchGuis(UltraTerminalModes.CRAFTING, true)); + mode = UltraTerminalModes.CRAFTING; } else if (btn == this.PatternTerminal) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketSwitchGuis(UltraTerminalModes.PATTERN, true)); + mode = UltraTerminalModes.PATTERN; } else if (btn == this.InterfaceTerminal) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketSwitchGuis(UltraTerminalModes.INTERFACE, true)); + mode = UltraTerminalModes.INTERFACE; } else if (btn == this.LevelTerminal) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketSwitchGuis(UltraTerminalModes.LEVEL, true)); + mode = UltraTerminalModes.LEVEL; } else if (btn == this.PatternTerminalEx) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketSwitchGuis(UltraTerminalModes.PATTERN_EX, true)); + mode = UltraTerminalModes.PATTERN_EX; + } + if (mode != null) { + ItemWirelessUltraTerminal.setMode(this.terminal, mode); + FluidCraft.proxy.netHandler.sendToServer(new CPacketSwitchGuis(mode, true)); } if (btn == this.magnetOff || btn == this.magnetME || btn == this.magnetInv) { diff --git a/src/main/java/com/glodblock/github/common/item/ItemWirelessUltraTerminal.java b/src/main/java/com/glodblock/github/common/item/ItemWirelessUltraTerminal.java index 37791e41..547c3e1f 100644 --- a/src/main/java/com/glodblock/github/common/item/ItemWirelessUltraTerminal.java +++ b/src/main/java/com/glodblock/github/common/item/ItemWirelessUltraTerminal.java @@ -226,6 +226,6 @@ public class ItemWirelessUltraTerminal extends ItemBaseWirelessTerminal @Override public ICustomButtonDataObject getCustomDataObject(ICustomButtonProvider provider) { - return new UltraTerminalButtons(); + return new UltraTerminalButtons(((IGuiItemObject) provider).getItemStack()); } }