From 65134a3786a2514310ee4435b27b56846fb5b6de Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Sat, 21 Jan 2023 17:19:40 +0800 Subject: [PATCH] refactor 3 --- .../gui/GuiBaseFluidPatternTerminal.java | 223 ------------- .../gui/GuiBaseFluidPatternTerminalEx.java | 304 ------------------ .../client/gui/GuiBaseFluidTerminal.java | 53 --- .../client/gui/GuiFluidPatternTerminal.java | 164 +++++++--- .../client/gui/GuiFluidPatternTerminalEx.java | 212 ++++++++---- .../github/client/gui/GuiFluidTerminal.java | 29 +- .../github/client/gui/GuiItemMonitor.java | 12 - .../client/gui/base/FCGuiEncodeTerminal.java | 157 +++++++++ .../ContainerFluidPatternTerminalEx.java | 4 +- .../gui/container/FluidPrioritization.java | 6 - .../base/FCContainerEncodeTerminal.java | 3 +- .../glodblock/github/client/me/FluidRepo.java | 39 +-- .../github/inventory/gui/GuiType.java | 2 +- ...dPatternTerminalRecipeTransferHandler.java | 5 +- .../network/CPacketFluidPatternTermBtns.java | 49 +-- 15 files changed, 482 insertions(+), 780 deletions(-) delete mode 100644 src/main/java/com/glodblock/github/client/gui/GuiBaseFluidPatternTerminal.java delete mode 100644 src/main/java/com/glodblock/github/client/gui/GuiBaseFluidPatternTerminalEx.java delete mode 100644 src/main/java/com/glodblock/github/client/gui/GuiBaseFluidTerminal.java create mode 100644 src/main/java/com/glodblock/github/client/gui/base/FCGuiEncodeTerminal.java delete mode 100644 src/main/java/com/glodblock/github/client/gui/container/FluidPrioritization.java diff --git a/src/main/java/com/glodblock/github/client/gui/GuiBaseFluidPatternTerminal.java b/src/main/java/com/glodblock/github/client/gui/GuiBaseFluidPatternTerminal.java deleted file mode 100644 index d4aa3792..00000000 --- a/src/main/java/com/glodblock/github/client/gui/GuiBaseFluidPatternTerminal.java +++ /dev/null @@ -1,223 +0,0 @@ -package com.glodblock.github.client.gui; - -import appeng.api.config.*; -import appeng.api.storage.ITerminalHost; -import appeng.client.gui.widgets.GuiImgButton; -import appeng.client.gui.widgets.GuiTabButton; -import appeng.container.slot.AppEngSlot; -import appeng.core.localization.GuiText; -import com.glodblock.github.FluidCraft; -import com.glodblock.github.client.gui.container.ContainerFluidPatternTerminal; -import com.glodblock.github.network.CPacketFluidPatternTermBtns; -import com.glodblock.github.util.ModAndClassUtil; -import com.glodblock.github.util.NameConst; -import net.minecraft.client.gui.GuiButton; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.util.StatCollector; -import org.lwjgl.input.Keyboard; - -public class GuiBaseFluidPatternTerminal extends GuiItemMonitor { - - private static final String SUBSITUTION_DISABLE = "0"; - private static final String SUBSITUTION_ENABLE = "1"; - - private static final String CRAFTMODE_CRFTING = "1"; - private static final String CRAFTMODE_PROCESSING = "0"; - - public ContainerFluidPatternTerminal container; - - private GuiTabButton tabCraftButton; - private GuiTabButton tabProcessButton; - private GuiImgButton substitutionsEnabledBtn; - private GuiImgButton substitutionsDisabledBtn; - private GuiImgButton encodeBtn; - private GuiImgButton clearBtn; - private GuiImgButton doubleBtn; - private GuiImgButton beSubstitutionsEnabledBtn; - private GuiImgButton beSubstitutionsDisabledBtn; - - private GuiFCImgButton combineEnableBtn; - private GuiFCImgButton combineDisableBtn; - - public GuiBaseFluidPatternTerminal(final InventoryPlayer inventoryPlayer, final ITerminalHost te) { - super(inventoryPlayer, te, new ContainerFluidPatternTerminal(inventoryPlayer, te)); - this.container = (ContainerFluidPatternTerminal) this.inventorySlots; - setReservedSpace(81); - } - - @Override - protected void actionPerformed(final GuiButton btn) { - super.actionPerformed(btn); - - if (this.tabCraftButton == btn || this.tabProcessButton == btn) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( - "PatternTerminal.CraftMode", - this.tabProcessButton == btn ? CRAFTMODE_CRFTING : CRAFTMODE_PROCESSING)); - } else if (this.encodeBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( - "PatternTerminal.Encode", (isCtrlKeyDown() ? 1 : 0) << 1 | (isShiftKeyDown() ? 1 : 0))); - } else if (this.clearBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns("PatternTerminal.Clear", "1")); - } else if (this.substitutionsEnabledBtn == btn || this.substitutionsDisabledBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( - "PatternTerminal.Substitute", - this.substitutionsEnabledBtn == btn ? SUBSITUTION_DISABLE : SUBSITUTION_ENABLE)); - } else if (this.combineDisableBtn == btn || this.combineEnableBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( - "PatternTerminal.Combine", this.combineDisableBtn == btn ? "1" : "0")); - } else if (ModAndClassUtil.isDoubleButton && doubleBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( - "PatternTerminal.Double", Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) ? "1" : "0")); - } else if (ModAndClassUtil.isBeSubstitutionsButton && beSubstitutionsDisabledBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer( - new CPacketFluidPatternTermBtns("PatternTerminal.beSubstitute", "1")); - } else if (ModAndClassUtil.isBeSubstitutionsButton && beSubstitutionsEnabledBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer( - new CPacketFluidPatternTermBtns("PatternTerminal.beSubstitute", "0")); - } - } - - @Override - @SuppressWarnings("unchecked") - public void initGui() { - super.initGui(); - this.tabCraftButton = new GuiTabButton( - this.guiLeft + 173, - this.guiTop + this.ySize - 177, - new ItemStack(Blocks.crafting_table), - GuiText.CraftingPattern.getLocal(), - itemRender); - this.buttonList.add(this.tabCraftButton); - - this.tabProcessButton = new GuiTabButton( - this.guiLeft + 173, - this.guiTop + this.ySize - 177, - new ItemStack(Blocks.furnace), - GuiText.ProcessingPattern.getLocal(), - itemRender); - this.buttonList.add(this.tabProcessButton); - - this.substitutionsEnabledBtn = new GuiImgButton( - this.guiLeft + 84, this.guiTop + this.ySize - 163, Settings.ACTIONS, ItemSubstitution.ENABLED); - this.substitutionsEnabledBtn.setHalfSize(true); - this.buttonList.add(this.substitutionsEnabledBtn); - - this.substitutionsDisabledBtn = new GuiImgButton( - this.guiLeft + 84, this.guiTop + this.ySize - 163, Settings.ACTIONS, ItemSubstitution.DISABLED); - this.substitutionsDisabledBtn.setHalfSize(true); - this.buttonList.add(this.substitutionsDisabledBtn); - - this.clearBtn = new GuiImgButton( - this.guiLeft + 74, this.guiTop + this.ySize - 163, Settings.ACTIONS, ActionItems.CLOSE); - this.clearBtn.setHalfSize(true); - this.buttonList.add(this.clearBtn); - - this.encodeBtn = new GuiImgButton( - this.guiLeft + 147, this.guiTop + this.ySize - 142, Settings.ACTIONS, ActionItems.ENCODE); - this.buttonList.add(this.encodeBtn); - - int combineLeft = 74; - int combineTop = 153; - if (ModAndClassUtil.isDoubleButton) { - this.doubleBtn = new GuiImgButton( - this.guiLeft + 74, this.guiTop + this.ySize - 153, Settings.ACTIONS, ActionItems.DOUBLE); - this.doubleBtn.setHalfSize(true); - this.buttonList.add(this.doubleBtn); - combineLeft = 84; - } - if (ModAndClassUtil.isBeSubstitutionsButton) { - combineLeft = 74; - combineTop -= 11; - this.beSubstitutionsEnabledBtn = new GuiImgButton( - this.guiLeft + 84, this.guiTop + this.ySize - 153, Settings.ACTIONS, PatternBeSubstitution.ENABLED); - this.beSubstitutionsEnabledBtn.setHalfSize(true); - this.buttonList.add(this.beSubstitutionsEnabledBtn); - - this.beSubstitutionsDisabledBtn = new GuiImgButton( - this.guiLeft + 84, - this.guiTop + this.ySize - 153, - Settings.ACTIONS, - PatternBeSubstitution.DISABLED); - this.beSubstitutionsDisabledBtn.setHalfSize(true); - this.buttonList.add(this.beSubstitutionsDisabledBtn); - } - this.combineEnableBtn = new GuiFCImgButton( - this.guiLeft + combineLeft, this.guiTop + this.ySize - combineTop, "FORCE_COMBINE", "DO_COMBINE"); - this.combineEnableBtn.setHalfSize(true); - this.buttonList.add(this.combineEnableBtn); - - this.combineDisableBtn = new GuiFCImgButton( - this.guiLeft + combineLeft, this.guiTop + this.ySize - combineTop, "NOT_COMBINE", "DONT_COMBINE"); - this.combineDisableBtn.setHalfSize(true); - this.buttonList.add(this.combineDisableBtn); - } - - @Override - public void drawFG(final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - if (!this.container.isCraftingMode()) { - this.tabCraftButton.visible = false; - this.tabProcessButton.visible = true; - if (ModAndClassUtil.isDoubleButton) this.doubleBtn.visible = true; - } else { - this.tabCraftButton.visible = true; - this.tabProcessButton.visible = false; - if (ModAndClassUtil.isDoubleButton) this.doubleBtn.visible = false; - } - - if (this.container.substitute) { - this.substitutionsEnabledBtn.visible = true; - this.substitutionsDisabledBtn.visible = false; - } else { - this.substitutionsEnabledBtn.visible = false; - this.substitutionsDisabledBtn.visible = true; - } - - if (!this.container.isCraftingMode()) { - if (this.container.combine) { - this.combineEnableBtn.visible = true; - this.combineDisableBtn.visible = false; - } else { - this.combineEnableBtn.visible = false; - this.combineDisableBtn.visible = true; - } - } else { - this.combineEnableBtn.visible = false; - this.combineDisableBtn.visible = false; - } - if (ModAndClassUtil.isBeSubstitutionsButton) { - if (this.container.beSubstitute) { - this.beSubstitutionsEnabledBtn.visible = true; - this.beSubstitutionsDisabledBtn.visible = false; - } else { - this.beSubstitutionsEnabledBtn.visible = false; - this.beSubstitutionsDisabledBtn.visible = true; - } - } - - super.drawFG(offsetX, offsetY, mouseX, mouseY); - this.fontRendererObj.drawString( - StatCollector.translateToLocal(NameConst.GUI_FLUID_PATTERN_TERMINAL), - 8, - this.ySize - 96 + 2 - getReservedSpace(), - 4210752); - } - - @Override - protected String getBackground() { - if (this.container.isCraftingMode()) { - return "gui/pattern.png"; - } - return "gui/pattern2.png"; - } - - @Override - protected void repositionSlot(final AppEngSlot s) { - if (s.isPlayerSide()) { - s.yDisplayPosition = s.getY() + this.ySize - 78 - 5; - } else { - s.yDisplayPosition = s.getY() + this.ySize - 78 - 3; - } - } -} diff --git a/src/main/java/com/glodblock/github/client/gui/GuiBaseFluidPatternTerminalEx.java b/src/main/java/com/glodblock/github/client/gui/GuiBaseFluidPatternTerminalEx.java deleted file mode 100644 index 11f0c92d..00000000 --- a/src/main/java/com/glodblock/github/client/gui/GuiBaseFluidPatternTerminalEx.java +++ /dev/null @@ -1,304 +0,0 @@ -package com.glodblock.github.client.gui; - -import appeng.api.config.*; -import appeng.api.storage.ITerminalHost; -import appeng.client.gui.widgets.GuiImgButton; -import appeng.client.gui.widgets.GuiScrollbar; -import appeng.container.slot.AppEngSlot; -import com.glodblock.github.FluidCraft; -import com.glodblock.github.client.gui.container.ContainerFluidPatternTerminalEx; -import com.glodblock.github.network.CPacketFluidPatternTermBtns; -import com.glodblock.github.util.ModAndClassUtil; -import com.glodblock.github.util.NameConst; -import net.minecraft.client.gui.GuiButton; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.StatCollector; -import org.lwjgl.input.Keyboard; -import org.lwjgl.input.Mouse; - -public class GuiBaseFluidPatternTerminalEx extends GuiItemMonitor { - - private static final String SUBSITUTION_DISABLE = "0"; - private static final String SUBSITUTION_ENABLE = "1"; - private static final String PRIORITY_DISABLE = "0"; - private static final String PRIORITY_ENABLE = "1"; - - public ContainerFluidPatternTerminalEx container; - - private GuiImgButton substitutionsEnabledBtn; - private GuiImgButton substitutionsDisabledBtn; - private GuiFCImgButton fluidPrioritizedEnabledBtn; - private GuiFCImgButton fluidPrioritizedDisabledBtn; - private GuiImgButton encodeBtn; - private GuiImgButton invertBtn; - private GuiImgButton clearBtn; - private GuiImgButton doubleBtn; - private GuiImgButton beSubstitutionsEnabledBtn; - private GuiImgButton beSubstitutionsDisabledBtn; - - private GuiFCImgButton combineEnableBtn; - private GuiFCImgButton combineDisableBtn; - private final GuiScrollbar processingScrollBar = new GuiScrollbar(); - - public GuiBaseFluidPatternTerminalEx(final InventoryPlayer inventoryPlayer, final ITerminalHost te) { - super(inventoryPlayer, te, new ContainerFluidPatternTerminalEx(inventoryPlayer, te)); - this.container = (ContainerFluidPatternTerminalEx) this.inventorySlots; - setReservedSpace(81); - - processingScrollBar.setHeight(70).setWidth(7).setLeft(6).setRange(0, 1, 1); - processingScrollBar.setTexture(FluidCraft.MODID, "gui/pattern3.png", 242, 0); - } - - @Override - protected void actionPerformed(final GuiButton btn) { - super.actionPerformed(btn); - - if (this.encodeBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( - "PatternTerminalEx.Encode", (isCtrlKeyDown() ? 1 : 0) << 1 | (isShiftKeyDown() ? 1 : 0))); - } else if (this.clearBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns("PatternTerminalEx.Clear", "1")); - } else if (this.substitutionsEnabledBtn == btn || this.substitutionsDisabledBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( - "PatternTerminalEx.Substitute", - this.substitutionsEnabledBtn == btn ? SUBSITUTION_DISABLE : SUBSITUTION_ENABLE)); - } else if (this.fluidPrioritizedEnabledBtn == btn || this.fluidPrioritizedDisabledBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( - "PatternTerminalEx.Prioritize", container.prioritize ? PRIORITY_DISABLE : PRIORITY_ENABLE)); - } else if (this.invertBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer( - new CPacketFluidPatternTermBtns("PatternTerminalEx.Invert", container.inverted ? "0" : "1")); - } else if (this.combineDisableBtn == btn || this.combineEnableBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( - "PatternTerminalEx.Combine", this.combineDisableBtn == btn ? "1" : "0")); - } else if (ModAndClassUtil.isDoubleButton && doubleBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( - "PatternTerminalEx.Double", Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) ? "1" : "0")); - } else if (ModAndClassUtil.isBeSubstitutionsButton && beSubstitutionsDisabledBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer( - new CPacketFluidPatternTermBtns("PatternTerminalEx.beSubstitute", "1")); - } else if (ModAndClassUtil.isBeSubstitutionsButton && beSubstitutionsEnabledBtn == btn) { - FluidCraft.proxy.netHandler.sendToServer( - new CPacketFluidPatternTermBtns("PatternTerminalEx.beSubstitute", "0")); - } - } - - @Override - @SuppressWarnings("unchecked") - public void initGui() { - super.initGui(); - - this.substitutionsEnabledBtn = new GuiImgButton( - this.guiLeft + 97, this.guiTop + this.ySize - 163, Settings.ACTIONS, ItemSubstitution.ENABLED); - this.substitutionsEnabledBtn.setHalfSize(true); - this.buttonList.add(this.substitutionsEnabledBtn); - - this.substitutionsDisabledBtn = new GuiImgButton( - this.guiLeft + 97, this.guiTop + this.ySize - 163, Settings.ACTIONS, ItemSubstitution.DISABLED); - this.substitutionsDisabledBtn.setHalfSize(true); - this.buttonList.add(this.substitutionsDisabledBtn); - - this.fluidPrioritizedEnabledBtn = - new GuiFCImgButton(this.guiLeft + 97, this.guiTop + this.ySize - 114, "FORCE_PRIO", "DO_PRIO"); - this.fluidPrioritizedEnabledBtn.setHalfSize(true); - this.buttonList.add(this.fluidPrioritizedEnabledBtn); - - this.fluidPrioritizedDisabledBtn = - new GuiFCImgButton(this.guiLeft + 97, this.guiTop + this.ySize - 114, "NOT_PRIO", "DONT_PRIO"); - this.fluidPrioritizedDisabledBtn.setHalfSize(true); - this.buttonList.add(this.fluidPrioritizedDisabledBtn); - - invertBtn = new GuiImgButton( - this.guiLeft + 87, - this.guiTop + this.ySize - 153, - Settings.ACTIONS, - container.inverted ? PatternSlotConfig.C_4_16 : PatternSlotConfig.C_16_4); - invertBtn.setHalfSize(true); - this.buttonList.add(this.invertBtn); - - this.clearBtn = new GuiImgButton( - this.guiLeft + 87, this.guiTop + this.ySize - 163, Settings.ACTIONS, ActionItems.CLOSE); - this.clearBtn.setHalfSize(true); - this.buttonList.add(this.clearBtn); - - this.encodeBtn = new GuiImgButton( - this.guiLeft + 147, this.guiTop + this.ySize - 142, Settings.ACTIONS, ActionItems.ENCODE); - this.buttonList.add(this.encodeBtn); - - if (ModAndClassUtil.isDoubleButton) { - this.doubleBtn = new GuiImgButton( - this.guiLeft + 97, this.guiTop + this.ySize - 153, Settings.ACTIONS, ActionItems.DOUBLE); - this.doubleBtn.setHalfSize(true); - this.buttonList.add(this.doubleBtn); - } - - this.combineEnableBtn = - new GuiFCImgButton(this.guiLeft + 87, this.guiTop + this.ySize - 114, "FORCE_COMBINE", "DO_COMBINE"); - this.combineEnableBtn.setHalfSize(true); - this.buttonList.add(this.combineEnableBtn); - - this.combineDisableBtn = - new GuiFCImgButton(this.guiLeft + 87, this.guiTop + this.ySize - 114, "NOT_COMBINE", "DONT_COMBINE"); - this.combineDisableBtn.setHalfSize(true); - this.buttonList.add(this.combineDisableBtn); - if (ModAndClassUtil.isBeSubstitutionsButton) { - this.beSubstitutionsEnabledBtn = new GuiImgButton( - this.guiLeft + 87, this.guiTop + this.ySize - 103, Settings.ACTIONS, PatternBeSubstitution.ENABLED); - this.beSubstitutionsEnabledBtn.setHalfSize(true); - this.buttonList.add(this.beSubstitutionsEnabledBtn); - - this.beSubstitutionsDisabledBtn = new GuiImgButton( - this.guiLeft + 87, - this.guiTop + this.ySize - 103, - Settings.ACTIONS, - PatternBeSubstitution.DISABLED); - this.beSubstitutionsDisabledBtn.setHalfSize(true); - this.buttonList.add(this.beSubstitutionsDisabledBtn); - } - processingScrollBar.setTop(this.ySize - 164); - } - - @Override - public void drawFG(final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - if (ModAndClassUtil.isDoubleButton) this.doubleBtn.visible = true; - - if (this.container.substitute) { - this.substitutionsEnabledBtn.visible = true; - this.substitutionsDisabledBtn.visible = false; - } else { - this.substitutionsEnabledBtn.visible = false; - this.substitutionsDisabledBtn.visible = true; - } - if (this.container.prioritize) { - this.fluidPrioritizedEnabledBtn.visible = false; - this.fluidPrioritizedDisabledBtn.visible = true; - } else { - this.fluidPrioritizedEnabledBtn.visible = true; - this.fluidPrioritizedDisabledBtn.visible = false; - } - - if (this.container.combine) { - this.combineEnableBtn.visible = true; - this.combineDisableBtn.visible = false; - } else { - this.combineEnableBtn.visible = false; - this.combineDisableBtn.visible = true; - } - if (ModAndClassUtil.isBeSubstitutionsButton) { - if (this.container.beSubstitute) { - this.beSubstitutionsEnabledBtn.visible = true; - this.beSubstitutionsDisabledBtn.visible = false; - } else { - this.beSubstitutionsEnabledBtn.visible = false; - this.beSubstitutionsDisabledBtn.visible = true; - } - } - - super.drawFG(offsetX, offsetY, mouseX, mouseY); - this.fontRendererObj.drawString( - StatCollector.translateToLocal(NameConst.GUI_FLUID_PATTERN_TERMINAL_EX), - 8, - this.ySize - 96 + 2 - getReservedSpace(), - 4210752); - this.processingScrollBar.draw(this); - } - - @Override - protected String getBackground() { - return container.inverted ? "gui/pattern4.png" : "gui/pattern3.png"; - } - - @Override - protected void repositionSlot(final AppEngSlot s) { - if (s.isPlayerSide()) { - s.yDisplayPosition = s.getY() + this.ySize - 78 - 5; - } else { - s.yDisplayPosition = s.getY() + this.ySize - 78 - 3; - } - } - - @Override - public void drawScreen(final int mouseX, final int mouseY, final float btn) { - - if (container.substitute) { - substitutionsEnabledBtn.visible = true; - substitutionsDisabledBtn.visible = false; - } else { - substitutionsEnabledBtn.visible = false; - substitutionsDisabledBtn.visible = true; - } - if (container.prioritize) { - fluidPrioritizedEnabledBtn.visible = true; - fluidPrioritizedDisabledBtn.visible = false; - } else { - fluidPrioritizedEnabledBtn.visible = false; - fluidPrioritizedDisabledBtn.visible = true; - } - - final int offset = container.inverted ? 18 * -3 : 0; - - substitutionsEnabledBtn.xPosition = this.guiLeft + 97 + offset; - substitutionsDisabledBtn.xPosition = this.guiLeft + 97 + offset; - beSubstitutionsEnabledBtn.xPosition = this.guiLeft + 97 + offset; - beSubstitutionsDisabledBtn.xPosition = this.guiLeft + 97 + offset; - fluidPrioritizedEnabledBtn.xPosition = this.guiLeft + 97 + offset; - fluidPrioritizedDisabledBtn.xPosition = this.guiLeft + 97 + offset; - doubleBtn.xPosition = this.guiLeft + 97 + offset; - clearBtn.xPosition = this.guiLeft + 87 + offset; - invertBtn.xPosition = this.guiLeft + 87 + offset; - combineEnableBtn.xPosition = this.guiLeft + 87 + offset; - combineDisableBtn.xPosition = this.guiLeft + 87 + offset; - - processingScrollBar.setCurrentScroll(container.activePage); - - super.drawScreen(mouseX, mouseY, btn); - } - - @Override - protected void mouseClicked(final int xCoord, final int yCoord, final int btn) { - final int currentScroll = this.processingScrollBar.getCurrentScroll(); - this.processingScrollBar.click(this, xCoord - this.guiLeft, yCoord - this.guiTop); - super.mouseClicked(xCoord, yCoord, btn); - - if (currentScroll != this.processingScrollBar.getCurrentScroll()) { - changeActivePage(); - } - } - - @Override - protected void mouseClickMove(final int x, final int y, final int c, final long d) { - final int currentScroll = this.processingScrollBar.getCurrentScroll(); - this.processingScrollBar.click(this, x - this.guiLeft, y - this.guiTop); - super.mouseClickMove(x, y, c, d); - - if (currentScroll != this.processingScrollBar.getCurrentScroll()) { - changeActivePage(); - } - } - - @Override - public void handleMouseInput() { - super.handleMouseInput(); - - final int wheel = Mouse.getEventDWheel(); - - if (wheel != 0) { - final int x = Mouse.getEventX() * this.width / this.mc.displayWidth; - final int y = this.height - Mouse.getEventY() * this.height / this.mc.displayHeight; - - if (this.processingScrollBar.contains(x - this.guiLeft, y - this.guiTop)) { - final int currentScroll = this.processingScrollBar.getCurrentScroll(); - this.processingScrollBar.wheel(wheel); - - if (currentScroll != this.processingScrollBar.getCurrentScroll()) { - changeActivePage(); - } - } - } - } - - private void changeActivePage() { - FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( - "PatternTerminalEx.ActivePage", String.valueOf(this.processingScrollBar.getCurrentScroll()))); - } -} diff --git a/src/main/java/com/glodblock/github/client/gui/GuiBaseFluidTerminal.java b/src/main/java/com/glodblock/github/client/gui/GuiBaseFluidTerminal.java deleted file mode 100644 index b6bf7e39..00000000 --- a/src/main/java/com/glodblock/github/client/gui/GuiBaseFluidTerminal.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.glodblock.github.client.gui; - -import appeng.api.storage.ITerminalHost; -import appeng.container.slot.AppEngSlot; -import com.glodblock.github.client.gui.container.ContainerFluidMonitor; -import com.glodblock.github.inventory.InventoryHandler; -import com.glodblock.github.inventory.gui.GuiType; -import net.minecraft.client.gui.GuiButton; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; - -public class GuiBaseFluidTerminal extends GuiFluidMonitor { - protected EntityPlayer player; - - public GuiBaseFluidTerminal(InventoryPlayer inventoryPlayer, ITerminalHost te, ContainerFluidMonitor c) { - super(inventoryPlayer, te, new ContainerFluidMonitor(inventoryPlayer, te)); - player = inventoryPlayer.player; - } - - @Override - protected String getBackground() { - return "gui/terminal.png"; - } - - @Override - protected void repositionSlot(final AppEngSlot s) { - if (s.isPlayerSide()) { - s.yDisplayPosition = s.getY() + this.ySize - 78 - 5; - } else { - s.yDisplayPosition = s.getY() + this.ySize - 78 - 3; - } - } - - @Override - public void drawFG(final int offsetX, final int offsetY, final int mouseX, final int mouseY) { - super.drawFG(offsetX, offsetY, mouseX, mouseY); - } - - @Override - @SuppressWarnings("unchecked") - public void initGui() { - super.initGui(); - } - - @Override - protected void actionPerformed(final GuiButton btn) { - if (btn == craftingStatusBtn) { - InventoryHandler.switchGui(GuiType.FLUID_PAT_TERM_CRAFTING_STATUS); - } else { - super.actionPerformed(btn); - } - } -} diff --git a/src/main/java/com/glodblock/github/client/gui/GuiFluidPatternTerminal.java b/src/main/java/com/glodblock/github/client/gui/GuiFluidPatternTerminal.java index e789f4b9..f2030d24 100644 --- a/src/main/java/com/glodblock/github/client/gui/GuiFluidPatternTerminal.java +++ b/src/main/java/com/glodblock/github/client/gui/GuiFluidPatternTerminal.java @@ -1,75 +1,135 @@ package com.glodblock.github.client.gui; +import appeng.api.config.ActionItems; +import appeng.api.config.ItemSubstitution; +import appeng.api.config.PatternBeSubstitution; +import appeng.api.config.Settings; import appeng.api.storage.ITerminalHost; -import appeng.api.storage.data.IAEItemStack; +import appeng.client.gui.widgets.GuiImgButton; import appeng.client.gui.widgets.GuiTabButton; -import appeng.client.render.AppEngRenderItem; -import appeng.container.slot.SlotFake; -import appeng.util.item.AEItemStack; +import appeng.container.slot.OptionalSlotFake; +import appeng.container.slot.SlotFakeCraftingMatrix; +import appeng.container.slot.SlotPatternTerm; +import appeng.core.localization.GuiText; +import com.glodblock.github.client.gui.base.FCGuiEncodeTerminal; import com.glodblock.github.client.gui.container.ContainerFluidPatternTerminal; -import com.glodblock.github.common.item.ItemFluidPacket; -import com.glodblock.github.inventory.InventoryHandler; -import com.glodblock.github.inventory.gui.GuiType; -import com.glodblock.github.inventory.slot.SlotSingleItem; -import com.glodblock.github.util.Ae2ReflectClient; -import net.minecraft.client.gui.GuiButton; +import com.glodblock.github.util.ModAndClassUtil; +import com.glodblock.github.util.NameConst; import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.init.Blocks; import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; -public class GuiFluidPatternTerminal extends GuiBaseFluidPatternTerminal { +public class GuiFluidPatternTerminal extends FCGuiEncodeTerminal { - private GuiTabButton craftingStatusBtn; - private final AppEngRenderItem stackSizeRenderer = Ae2ReflectClient.getStackSizeRenderer(this); - - public GuiFluidPatternTerminal(InventoryPlayer inventoryPlayer, ITerminalHost te) { - super(inventoryPlayer, te); - ContainerFluidPatternTerminal container = new ContainerFluidPatternTerminal(inventoryPlayer, te); - container.setGui(this); - this.inventorySlots = container; - this.container = container; - this.monitorableContainer = container; - this.configSrc = container.getConfigManager(); + public GuiFluidPatternTerminal(final InventoryPlayer inventoryPlayer, final ITerminalHost te) { + super(inventoryPlayer, te, new ContainerFluidPatternTerminal(inventoryPlayer, te)); } @Override + @SuppressWarnings("unchecked") public void initGui() { super.initGui(); - craftingStatusBtn = super.craftingStatusBtn; + this.tabCraftButton = new GuiTabButton( + this.guiLeft + 173, + this.guiTop + this.ySize - 177, + new ItemStack(Blocks.crafting_table), + GuiText.CraftingPattern.getLocal(), + itemRender); + this.buttonList.add(this.tabCraftButton); + + this.tabProcessButton = new GuiTabButton( + this.guiLeft + 173, + this.guiTop + this.ySize - 177, + new ItemStack(Blocks.furnace), + GuiText.ProcessingPattern.getLocal(), + itemRender); + this.buttonList.add(this.tabProcessButton); + + this.substitutionsEnabledBtn = new GuiImgButton( + this.guiLeft + 84, this.guiTop + this.ySize - 163, Settings.ACTIONS, ItemSubstitution.ENABLED); + this.substitutionsEnabledBtn.setHalfSize(true); + this.buttonList.add(this.substitutionsEnabledBtn); + + this.substitutionsDisabledBtn = new GuiImgButton( + this.guiLeft + 84, this.guiTop + this.ySize - 163, Settings.ACTIONS, ItemSubstitution.DISABLED); + this.substitutionsDisabledBtn.setHalfSize(true); + this.buttonList.add(this.substitutionsDisabledBtn); + + this.clearBtn = new GuiImgButton( + this.guiLeft + 74, this.guiTop + this.ySize - 163, Settings.ACTIONS, ActionItems.CLOSE); + this.clearBtn.setHalfSize(true); + this.buttonList.add(this.clearBtn); + + this.encodeBtn = new GuiImgButton( + this.guiLeft + 147, this.guiTop + this.ySize - 142, Settings.ACTIONS, ActionItems.ENCODE); + this.buttonList.add(this.encodeBtn); + + int combineLeft = 74; + int combineTop = 153; + if (ModAndClassUtil.isDoubleButton) { + this.doubleBtn = new GuiImgButton( + this.guiLeft + 74, this.guiTop + this.ySize - 153, Settings.ACTIONS, ActionItems.DOUBLE); + this.doubleBtn.setHalfSize(true); + this.buttonList.add(this.doubleBtn); + combineLeft = 84; + } + if (ModAndClassUtil.isBeSubstitutionsButton) { + combineLeft = 74; + combineTop -= 11; + this.beSubstitutionsEnabledBtn = new GuiImgButton( + this.guiLeft + 84, this.guiTop + this.ySize - 153, Settings.ACTIONS, PatternBeSubstitution.ENABLED); + this.beSubstitutionsEnabledBtn.setHalfSize(true); + this.buttonList.add(this.beSubstitutionsEnabledBtn); + + this.beSubstitutionsDisabledBtn = new GuiImgButton( + this.guiLeft + 84, + this.guiTop + this.ySize - 153, + Settings.ACTIONS, + PatternBeSubstitution.DISABLED); + this.beSubstitutionsDisabledBtn.setHalfSize(true); + this.buttonList.add(this.beSubstitutionsDisabledBtn); + } + this.combineEnableBtn = new GuiFCImgButton( + this.guiLeft + combineLeft, this.guiTop + this.ySize - combineTop, "FORCE_COMBINE", "DO_COMBINE"); + this.combineEnableBtn.setHalfSize(true); + this.buttonList.add(this.combineEnableBtn); + + this.combineDisableBtn = new GuiFCImgButton( + this.guiLeft + combineLeft, this.guiTop + this.ySize - combineTop, "NOT_COMBINE", "DONT_COMBINE"); + this.combineDisableBtn.setHalfSize(true); + this.buttonList.add(this.combineDisableBtn); } @Override - public void func_146977_a(final Slot s) { - if (drawSlot0(s)) super.func_146977_a(s); - } - - public boolean drawSlot0(Slot slot) { - if (slot instanceof SlotFake && !this.container.isCraftingMode()) { - AEItemStack stack = AEItemStack.create(slot.getStack()); - super.func_146977_a(new SlotSingleItem(slot)); - if (stack == null) return true; - IAEItemStack fake = stack.copy(); - if (fake.getItemStack().getItem() instanceof ItemFluidPacket) { - if (ItemFluidPacket.getFluidStack(stack) != null && ItemFluidPacket.getFluidStack(stack).amount > 0) - fake.setStackSize(ItemFluidPacket.getFluidStack(stack).amount); - } else return true; - stackSizeRenderer.setAeStack(fake); - stackSizeRenderer.renderItemOverlayIntoGUI( - fontRendererObj, - mc.getTextureManager(), - stack.getItemStack(), - slot.xDisplayPosition, - slot.yDisplayPosition); - return false; - } - return true; + public void drawFG(final int offsetX, final int offsetY, final int mouseX, final int mouseY) { + super.drawFG(offsetX, offsetY, mouseX, mouseY); + this.fontRendererObj.drawString( + StatCollector.translateToLocal(NameConst.GUI_FLUID_PATTERN_TERMINAL), + 8, + this.ySize - 96 + 2 - getReservedSpace(), + 4210752); } @Override - protected void actionPerformed(final GuiButton btn) { - if (btn == craftingStatusBtn) { - InventoryHandler.switchGui(GuiType.FLUID_PAT_TERM_CRAFTING_STATUS); - } else { - super.actionPerformed(btn); + protected void handleMouseClick(final Slot slot, final int slotIdx, final int ctrlDown, final int mouseButton) { + if (mouseButton == 3) { + if (this.container.isCraftingMode() + && (slot instanceof OptionalSlotFake + || slot instanceof SlotFakeCraftingMatrix + || slot instanceof SlotPatternTerm)) { + return; + } } + super.handleMouseClick(slot, slotIdx, ctrlDown, mouseButton); + } + + @Override + protected String getBackground() { + if (this.container.isCraftingMode()) { + return "gui/pattern.png"; + } + return "gui/pattern2.png"; } } diff --git a/src/main/java/com/glodblock/github/client/gui/GuiFluidPatternTerminalEx.java b/src/main/java/com/glodblock/github/client/gui/GuiFluidPatternTerminalEx.java index 179bd132..052a83eb 100644 --- a/src/main/java/com/glodblock/github/client/gui/GuiFluidPatternTerminalEx.java +++ b/src/main/java/com/glodblock/github/client/gui/GuiFluidPatternTerminalEx.java @@ -1,75 +1,179 @@ package com.glodblock.github.client.gui; +import appeng.api.config.*; import appeng.api.storage.ITerminalHost; -import appeng.api.storage.data.IAEItemStack; -import appeng.client.gui.widgets.GuiTabButton; -import appeng.client.render.AppEngRenderItem; -import appeng.container.slot.SlotFake; -import appeng.util.item.AEItemStack; +import appeng.client.gui.widgets.GuiImgButton; +import com.glodblock.github.FluidCraft; +import com.glodblock.github.client.gui.base.FCGuiEncodeTerminal; import com.glodblock.github.client.gui.container.ContainerFluidPatternTerminalEx; -import com.glodblock.github.common.item.ItemFluidPacket; -import com.glodblock.github.inventory.InventoryHandler; -import com.glodblock.github.inventory.gui.GuiType; -import com.glodblock.github.inventory.slot.SlotSingleItem; -import com.glodblock.github.util.Ae2ReflectClient; -import net.minecraft.client.gui.GuiButton; +import com.glodblock.github.network.CPacketFluidPatternTermBtns; +import com.glodblock.github.util.ModAndClassUtil; +import com.glodblock.github.util.NameConst; import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Slot; +import net.minecraft.util.StatCollector; +import org.lwjgl.input.Mouse; -public class GuiFluidPatternTerminalEx extends GuiBaseFluidPatternTerminalEx { +public class GuiFluidPatternTerminalEx extends FCGuiEncodeTerminal { - private GuiTabButton craftingStatusBtn; - private final AppEngRenderItem stackSizeRenderer = Ae2ReflectClient.getStackSizeRenderer(this); - - public GuiFluidPatternTerminalEx(InventoryPlayer inventoryPlayer, ITerminalHost te) { - super(inventoryPlayer, te); - ContainerFluidPatternTerminalEx container = new ContainerFluidPatternTerminalEx(inventoryPlayer, te); - container.setGui(this); - this.inventorySlots = container; - this.container = container; - this.monitorableContainer = container; - this.configSrc = container.getConfigManager(); + public GuiFluidPatternTerminalEx(final InventoryPlayer inventoryPlayer, final ITerminalHost te) { + super(inventoryPlayer, te, new ContainerFluidPatternTerminalEx(inventoryPlayer, te)); + processingScrollBar.setHeight(70).setWidth(7).setLeft(6).setRange(0, 1, 1); + processingScrollBar.setTexture(FluidCraft.MODID, "gui/pattern3.png", 242, 0); } @Override + @SuppressWarnings("unchecked") public void initGui() { super.initGui(); - craftingStatusBtn = super.craftingStatusBtn; + + this.substitutionsEnabledBtn = new GuiImgButton( + this.guiLeft + 97, this.guiTop + this.ySize - 163, Settings.ACTIONS, ItemSubstitution.ENABLED); + this.substitutionsEnabledBtn.setHalfSize(true); + this.buttonList.add(this.substitutionsEnabledBtn); + + this.substitutionsDisabledBtn = new GuiImgButton( + this.guiLeft + 97, this.guiTop + this.ySize - 163, Settings.ACTIONS, ItemSubstitution.DISABLED); + this.substitutionsDisabledBtn.setHalfSize(true); + this.buttonList.add(this.substitutionsDisabledBtn); + + this.fluidPrioritizedEnabledBtn = + new GuiFCImgButton(this.guiLeft + 97, this.guiTop + this.ySize - 114, "FORCE_PRIO", "DO_PRIO"); + this.fluidPrioritizedEnabledBtn.setHalfSize(true); + this.buttonList.add(this.fluidPrioritizedEnabledBtn); + + this.fluidPrioritizedDisabledBtn = + new GuiFCImgButton(this.guiLeft + 97, this.guiTop + this.ySize - 114, "NOT_PRIO", "DONT_PRIO"); + this.fluidPrioritizedDisabledBtn.setHalfSize(true); + this.buttonList.add(this.fluidPrioritizedDisabledBtn); + + invertBtn = new GuiImgButton( + this.guiLeft + 87, + this.guiTop + this.ySize - 153, + Settings.ACTIONS, + container.inverted ? PatternSlotConfig.C_4_16 : PatternSlotConfig.C_16_4); + invertBtn.setHalfSize(true); + this.buttonList.add(this.invertBtn); + + this.clearBtn = new GuiImgButton( + this.guiLeft + 87, this.guiTop + this.ySize - 163, Settings.ACTIONS, ActionItems.CLOSE); + this.clearBtn.setHalfSize(true); + this.buttonList.add(this.clearBtn); + + this.encodeBtn = new GuiImgButton( + this.guiLeft + 147, this.guiTop + this.ySize - 142, Settings.ACTIONS, ActionItems.ENCODE); + this.buttonList.add(this.encodeBtn); + + if (ModAndClassUtil.isDoubleButton) { + this.doubleBtn = new GuiImgButton( + this.guiLeft + 97, this.guiTop + this.ySize - 153, Settings.ACTIONS, ActionItems.DOUBLE); + this.doubleBtn.setHalfSize(true); + this.buttonList.add(this.doubleBtn); + } + + this.combineEnableBtn = + new GuiFCImgButton(this.guiLeft + 87, this.guiTop + this.ySize - 114, "FORCE_COMBINE", "DO_COMBINE"); + this.combineEnableBtn.setHalfSize(true); + this.buttonList.add(this.combineEnableBtn); + + this.combineDisableBtn = + new GuiFCImgButton(this.guiLeft + 87, this.guiTop + this.ySize - 114, "NOT_COMBINE", "DONT_COMBINE"); + this.combineDisableBtn.setHalfSize(true); + this.buttonList.add(this.combineDisableBtn); + if (ModAndClassUtil.isBeSubstitutionsButton) { + this.beSubstitutionsEnabledBtn = new GuiImgButton( + this.guiLeft + 87, this.guiTop + this.ySize - 103, Settings.ACTIONS, PatternBeSubstitution.ENABLED); + this.beSubstitutionsEnabledBtn.setHalfSize(true); + this.buttonList.add(this.beSubstitutionsEnabledBtn); + + this.beSubstitutionsDisabledBtn = new GuiImgButton( + this.guiLeft + 87, + this.guiTop + this.ySize - 103, + Settings.ACTIONS, + PatternBeSubstitution.DISABLED); + this.beSubstitutionsDisabledBtn.setHalfSize(true); + this.buttonList.add(this.beSubstitutionsDisabledBtn); + } + processingScrollBar.setTop(this.ySize - 164); } @Override - public void func_146977_a(final Slot s) { - if (drawSlot0(s)) super.func_146977_a(s); - } - - public boolean drawSlot0(Slot slot) { - if (slot instanceof SlotFake) { - AEItemStack stack = AEItemStack.create(slot.getStack()); - super.func_146977_a(new SlotSingleItem(slot)); - if (stack == null) return true; - IAEItemStack fake = stack.copy(); - if (fake.getItemStack().getItem() instanceof ItemFluidPacket) { - if (ItemFluidPacket.getFluidStack(stack) != null && ItemFluidPacket.getFluidStack(stack).amount > 0) - fake.setStackSize(ItemFluidPacket.getFluidStack(stack).amount); - } else return true; - stackSizeRenderer.setAeStack(fake); - stackSizeRenderer.renderItemOverlayIntoGUI( - fontRendererObj, - mc.getTextureManager(), - stack.getItemStack(), - slot.xDisplayPosition, - slot.yDisplayPosition); - return false; - } - return true; + public void drawFG(final int offsetX, final int offsetY, final int mouseX, final int mouseY) { + super.drawFG(offsetX, offsetY, mouseX, mouseY); + this.fontRendererObj.drawString( + StatCollector.translateToLocal(NameConst.GUI_FLUID_PATTERN_TERMINAL_EX), + 8, + this.ySize - 96 + 2 - getReservedSpace(), + 4210752); + this.processingScrollBar.draw(this); } @Override - protected void actionPerformed(final GuiButton btn) { - if (btn == craftingStatusBtn) { - InventoryHandler.switchGui(GuiType.FLUID_PAT_TERM_CRAFTING_STATUS); - } else { - super.actionPerformed(btn); + protected String getBackground() { + return container.inverted ? "gui/pattern4.png" : "gui/pattern3.png"; + } + + @Override + public void drawScreen(final int mouseX, final int mouseY, final float btn) { + final int offset = container.inverted ? 18 * -3 : 0; + substitutionsEnabledBtn.xPosition = this.guiLeft + 97 + offset; + substitutionsDisabledBtn.xPosition = this.guiLeft + 97 + offset; + beSubstitutionsEnabledBtn.xPosition = this.guiLeft + 97 + offset; + beSubstitutionsDisabledBtn.xPosition = this.guiLeft + 97 + offset; + fluidPrioritizedEnabledBtn.xPosition = this.guiLeft + 97 + offset; + fluidPrioritizedDisabledBtn.xPosition = this.guiLeft + 97 + offset; + doubleBtn.xPosition = this.guiLeft + 97 + offset; + clearBtn.xPosition = this.guiLeft + 87 + offset; + invertBtn.xPosition = this.guiLeft + 87 + offset; + combineEnableBtn.xPosition = this.guiLeft + 87 + offset; + combineDisableBtn.xPosition = this.guiLeft + 87 + offset; + processingScrollBar.setCurrentScroll(container.activePage); + super.drawScreen(mouseX, mouseY, btn); + } + + @Override + protected void mouseClicked(final int xCoord, final int yCoord, final int btn) { + final int currentScroll = this.processingScrollBar.getCurrentScroll(); + this.processingScrollBar.click(this, xCoord - this.guiLeft, yCoord - this.guiTop); + super.mouseClicked(xCoord, yCoord, btn); + + if (currentScroll != this.processingScrollBar.getCurrentScroll()) { + changeActivePage(); } } + + @Override + protected void mouseClickMove(final int x, final int y, final int c, final long d) { + final int currentScroll = this.processingScrollBar.getCurrentScroll(); + this.processingScrollBar.click(this, x - this.guiLeft, y - this.guiTop); + super.mouseClickMove(x, y, c, d); + + if (currentScroll != this.processingScrollBar.getCurrentScroll()) { + changeActivePage(); + } + } + + @Override + public void handleMouseInput() { + super.handleMouseInput(); + final int wheel = Mouse.getEventDWheel(); + + if (wheel != 0) { + final int x = Mouse.getEventX() * this.width / this.mc.displayWidth; + final int y = this.height - Mouse.getEventY() * this.height / this.mc.displayHeight; + + if (this.processingScrollBar.contains(x - this.guiLeft, y - this.guiTop)) { + final int currentScroll = this.processingScrollBar.getCurrentScroll(); + this.processingScrollBar.wheel(wheel); + + if (currentScroll != this.processingScrollBar.getCurrentScroll()) { + changeActivePage(); + } + } + } + } + + private void changeActivePage() { + FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( + "PatternTerminal.ActivePage", String.valueOf(this.processingScrollBar.getCurrentScroll()))); + } } diff --git a/src/main/java/com/glodblock/github/client/gui/GuiFluidTerminal.java b/src/main/java/com/glodblock/github/client/gui/GuiFluidTerminal.java index 4d5816c2..1706debe 100644 --- a/src/main/java/com/glodblock/github/client/gui/GuiFluidTerminal.java +++ b/src/main/java/com/glodblock/github/client/gui/GuiFluidTerminal.java @@ -5,16 +5,21 @@ import appeng.api.storage.data.IAEFluidStack; import appeng.api.storage.data.IAEItemStack; import appeng.client.me.SlotME; import appeng.client.render.AppEngRenderItem; +import appeng.container.slot.AppEngSlot; import com.glodblock.github.FluidCraft; import com.glodblock.github.client.gui.container.ContainerFluidMonitor; import com.glodblock.github.common.item.ItemFluidDrop; +import com.glodblock.github.inventory.InventoryHandler; +import com.glodblock.github.inventory.gui.GuiType; import com.glodblock.github.network.CPacketFluidUpdate; import com.glodblock.github.util.Ae2ReflectClient; import com.glodblock.github.util.Util; import java.util.HashMap; import java.util.Map; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiButton; import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; @@ -22,18 +27,33 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import org.lwjgl.opengl.GL11; -public class GuiFluidTerminal extends GuiBaseFluidTerminal { +public class GuiFluidTerminal extends GuiFluidMonitor { private final AppEngRenderItem stackSizeRenderer = Ae2ReflectClient.getStackSizeRenderer(this); + protected EntityPlayer player; public ContainerFluidMonitor container; public GuiFluidTerminal(InventoryPlayer inventoryPlayer, ITerminalHost te) { super(inventoryPlayer, te, new ContainerFluidMonitor(inventoryPlayer, te)); this.container = new ContainerFluidMonitor(inventoryPlayer, te); + this.player = inventoryPlayer.player; } @Override - public void initGui() { - super.initGui(); + protected void repositionSlot(final AppEngSlot s) { + if (s.isPlayerSide()) { + s.yDisplayPosition = s.getY() + this.ySize - 78 - 5; + } else { + s.yDisplayPosition = s.getY() + this.ySize - 78 - 3; + } + } + + @Override + protected void actionPerformed(final GuiButton btn) { + if (btn == craftingStatusBtn) { + InventoryHandler.switchGui(GuiType.CRAFTING_STATUS); + } else { + super.actionPerformed(btn); + } } @Override @@ -87,6 +107,9 @@ public class GuiFluidTerminal extends GuiBaseFluidTerminal { } FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidUpdate(tmp, itemStack)); } + if (mouseButton == 3 && slot instanceof SlotME) { + return; + } super.handleMouseClick(slot, slotIdx, ctrlDown, mouseButton); } diff --git a/src/main/java/com/glodblock/github/client/gui/GuiItemMonitor.java b/src/main/java/com/glodblock/github/client/gui/GuiItemMonitor.java index 0f20126b..af4336f4 100644 --- a/src/main/java/com/glodblock/github/client/gui/GuiItemMonitor.java +++ b/src/main/java/com/glodblock/github/client/gui/GuiItemMonitor.java @@ -10,7 +10,6 @@ import com.glodblock.github.client.gui.container.ContainerItemMonitor; import com.glodblock.github.util.ModAndClassUtil; import java.util.List; import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class GuiItemMonitor extends FCGuiMonitor { @@ -34,17 +33,6 @@ public class GuiItemMonitor extends FCGuiMonitor { this.fontRendererObj.drawString(GuiText.inventory.getLocal(), 8, this.ySize - 96 + 3, 4210752); } - @Override - protected void handleMouseClick(final Slot slot, final int slotIdx, final int ctrlDown, final int mouseButton) { - if (mouseButton == 3) { - if (this instanceof GuiBaseFluidPatternTerminal - && ((GuiBaseFluidPatternTerminal) this).container.isCraftingMode()) { - return; - } - } - super.handleMouseClick(slot, slotIdx, ctrlDown, mouseButton); - } - @Override public void drawScreen(final int mouseX, final int mouseY, final float btn) { super.drawScreen(mouseX, mouseY, btn); diff --git a/src/main/java/com/glodblock/github/client/gui/base/FCGuiEncodeTerminal.java b/src/main/java/com/glodblock/github/client/gui/base/FCGuiEncodeTerminal.java new file mode 100644 index 00000000..9ed9a69a --- /dev/null +++ b/src/main/java/com/glodblock/github/client/gui/base/FCGuiEncodeTerminal.java @@ -0,0 +1,157 @@ +package com.glodblock.github.client.gui.base; + +import appeng.api.storage.ITerminalHost; +import appeng.api.storage.data.IAEItemStack; +import appeng.client.gui.widgets.GuiImgButton; +import appeng.client.gui.widgets.GuiScrollbar; +import appeng.client.gui.widgets.GuiTabButton; +import appeng.client.render.AppEngRenderItem; +import appeng.container.slot.AppEngSlot; +import appeng.container.slot.SlotFake; +import appeng.util.item.AEItemStack; +import com.glodblock.github.FluidCraft; +import com.glodblock.github.client.gui.GuiFCImgButton; +import com.glodblock.github.client.gui.GuiItemMonitor; +import com.glodblock.github.client.gui.container.base.FCContainerEncodeTerminal; +import com.glodblock.github.common.item.ItemFluidPacket; +import com.glodblock.github.inventory.InventoryHandler; +import com.glodblock.github.inventory.gui.GuiType; +import com.glodblock.github.inventory.slot.SlotSingleItem; +import com.glodblock.github.network.CPacketFluidPatternTermBtns; +import com.glodblock.github.util.Ae2ReflectClient; +import com.glodblock.github.util.ModAndClassUtil; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Slot; +import org.lwjgl.input.Keyboard; + +public abstract class FCGuiEncodeTerminal extends GuiItemMonitor { + + private static final String SUBSTITUTION_DISABLE = "0"; + private static final String SUBSTITUTION_ENABLE = "1"; + private static final String PRIORITY_DISABLE = "0"; + private static final String PRIORITY_ENABLE = "1"; + private static final String MODE_CRAFTING = "1"; + private static final String MODE_PROCESSING = "0"; + public FCContainerEncodeTerminal container; + protected GuiTabButton tabCraftButton; + protected GuiTabButton tabProcessButton; + protected GuiImgButton substitutionsEnabledBtn; + protected GuiImgButton substitutionsDisabledBtn; + protected GuiFCImgButton fluidPrioritizedEnabledBtn; + protected GuiFCImgButton fluidPrioritizedDisabledBtn; + protected GuiImgButton encodeBtn; + protected GuiImgButton invertBtn; + protected GuiImgButton clearBtn; + protected GuiImgButton doubleBtn; + protected GuiImgButton beSubstitutionsEnabledBtn; + protected GuiImgButton beSubstitutionsDisabledBtn; + protected GuiFCImgButton combineEnableBtn; + protected GuiFCImgButton combineDisableBtn; + protected final GuiScrollbar processingScrollBar = new GuiScrollbar(); + protected final AppEngRenderItem stackSizeRenderer = Ae2ReflectClient.getStackSizeRenderer(this); + + public FCGuiEncodeTerminal( + final InventoryPlayer inventoryPlayer, final ITerminalHost te, final FCContainerEncodeTerminal c) { + super(inventoryPlayer, te, c); + this.container = (FCContainerEncodeTerminal) this.inventorySlots; + c.setGui(this); + setReservedSpace(81); + } + + @Override + protected void actionPerformed(final GuiButton btn) { + super.actionPerformed(btn); + if (btn == craftingStatusBtn) { + InventoryHandler.switchGui(GuiType.CRAFTING_STATUS); + } else if (this.tabCraftButton == btn || this.tabProcessButton == btn) { + FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( + "PatternTerminal.CraftMode", this.tabProcessButton == btn ? MODE_CRAFTING : MODE_PROCESSING)); + } else if (this.encodeBtn == btn) { + FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( + "PatternTerminal.Encode", (isCtrlKeyDown() ? 1 : 0) << 1 | (isShiftKeyDown() ? 1 : 0))); + } else if (this.clearBtn == btn) { + FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns("PatternTerminal.Clear", "1")); + } else if (this.substitutionsEnabledBtn == btn || this.substitutionsDisabledBtn == btn) { + FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( + "PatternTerminal.Substitute", + this.substitutionsEnabledBtn == btn ? SUBSTITUTION_DISABLE : SUBSTITUTION_ENABLE)); + } else if (this.fluidPrioritizedEnabledBtn == btn || this.fluidPrioritizedDisabledBtn == btn) { + FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( + "PatternTerminal.Prioritize", container.prioritize ? PRIORITY_DISABLE : PRIORITY_ENABLE)); + } else if (this.invertBtn == btn) { + FluidCraft.proxy.netHandler.sendToServer( + new CPacketFluidPatternTermBtns("PatternTerminal.Invert", container.inverted ? "0" : "1")); + } else if (this.combineDisableBtn == btn || this.combineEnableBtn == btn) { + FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( + "PatternTerminal.Combine", this.combineDisableBtn == btn ? "1" : "0")); + } else if (ModAndClassUtil.isDoubleButton && doubleBtn == btn) { + FluidCraft.proxy.netHandler.sendToServer(new CPacketFluidPatternTermBtns( + "PatternTerminal.Double", Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) ? "1" : "0")); + } else if (ModAndClassUtil.isBeSubstitutionsButton && beSubstitutionsDisabledBtn == btn) { + FluidCraft.proxy.netHandler.sendToServer( + new CPacketFluidPatternTermBtns("PatternTerminal.beSubstitute", "1")); + } else if (ModAndClassUtil.isBeSubstitutionsButton && beSubstitutionsEnabledBtn == btn) { + FluidCraft.proxy.netHandler.sendToServer( + new CPacketFluidPatternTermBtns("PatternTerminal.beSubstitute", "0")); + } + } + + @Override + public void drawFG(final int offsetX, final int offsetY, final int mouseX, final int mouseY) { + updateButton(this.tabCraftButton, this.container.isCraftingMode()); + updateButton(this.tabProcessButton, !this.container.isCraftingMode()); + updateButton(this.doubleBtn, !this.container.isCraftingMode()); + updateButton(this.substitutionsEnabledBtn, this.container.substitute); + updateButton(this.substitutionsDisabledBtn, !this.container.substitute); + updateButton(this.combineEnableBtn, !this.container.isCraftingMode() && this.container.combine); + updateButton(this.combineDisableBtn, !this.container.isCraftingMode() && !this.container.combine); + updateButton(this.beSubstitutionsEnabledBtn, this.container.beSubstitute); + updateButton(this.beSubstitutionsDisabledBtn, !this.container.beSubstitute); + updateButton(this.fluidPrioritizedEnabledBtn, this.container.prioritize); + updateButton(this.fluidPrioritizedDisabledBtn, !this.container.prioritize); + super.drawFG(offsetX, offsetY, mouseX, mouseY); + } + + protected void updateButton(GuiButton button, boolean vis) { + if (button != null) { + button.visible = vis; + } + } + + @Override + protected void repositionSlot(final AppEngSlot s) { + if (s.isPlayerSide()) { + s.yDisplayPosition = s.getY() + this.ySize - 78 - 5; + } else { + s.yDisplayPosition = s.getY() + this.ySize - 78 - 3; + } + } + + @Override + public void func_146977_a(final Slot s) { + if (drawSlot0(s)) super.func_146977_a(s); + } + + public boolean drawSlot0(Slot slot) { + if (slot instanceof SlotFake && !this.container.isCraftingMode()) { + AEItemStack stack = AEItemStack.create(slot.getStack()); + super.func_146977_a(new SlotSingleItem(slot)); + if (stack == null) return true; + IAEItemStack fake = stack.copy(); + if (fake.getItemStack().getItem() instanceof ItemFluidPacket) { + if (ItemFluidPacket.getFluidStack(stack) != null && ItemFluidPacket.getFluidStack(stack).amount > 0) + fake.setStackSize(ItemFluidPacket.getFluidStack(stack).amount); + } else return true; + stackSizeRenderer.setAeStack(fake); + stackSizeRenderer.renderItemOverlayIntoGUI( + fontRendererObj, + mc.getTextureManager(), + stack.getItemStack(), + slot.xDisplayPosition, + slot.yDisplayPosition); + return false; + } + return true; + } +} diff --git a/src/main/java/com/glodblock/github/client/gui/container/ContainerFluidPatternTerminalEx.java b/src/main/java/com/glodblock/github/client/gui/container/ContainerFluidPatternTerminalEx.java index e9b9a8ec..6c281306 100644 --- a/src/main/java/com/glodblock/github/client/gui/container/ContainerFluidPatternTerminalEx.java +++ b/src/main/java/com/glodblock/github/client/gui/container/ContainerFluidPatternTerminalEx.java @@ -74,7 +74,6 @@ public class ContainerFluidPatternTerminalEx extends FCContainerEncodeTerminal { @Override public void detectAndSendChanges() { - super.detectAndSendChanges(); if (Platform.isServer()) { if (inverted != patternTerminal.isInverted() || activePage != patternTerminal.getActivePage()) { inverted = patternTerminal.isInverted(); @@ -82,6 +81,7 @@ public class ContainerFluidPatternTerminalEx extends FCContainerEncodeTerminal { offsetSlots(); } } + super.detectAndSendChanges(); } private void offsetSlots() { @@ -107,10 +107,10 @@ public class ContainerFluidPatternTerminalEx extends FCContainerEncodeTerminal { @Override public void onSlotChange(final Slot s) { - super.onSlotChange(s); if (s == this.patternSlotOUT && Platform.isServer()) { inverted = patternTerminal.isInverted(); } + super.onSlotChange(s); } @Override diff --git a/src/main/java/com/glodblock/github/client/gui/container/FluidPrioritization.java b/src/main/java/com/glodblock/github/client/gui/container/FluidPrioritization.java deleted file mode 100644 index 893d2dc0..00000000 --- a/src/main/java/com/glodblock/github/client/gui/container/FluidPrioritization.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.glodblock.github.client.gui.container; - -public enum FluidPrioritization { - ENABLED, - DISABLED; -} diff --git a/src/main/java/com/glodblock/github/client/gui/container/base/FCContainerEncodeTerminal.java b/src/main/java/com/glodblock/github/client/gui/container/base/FCContainerEncodeTerminal.java index 94304b27..b9a5a368 100644 --- a/src/main/java/com/glodblock/github/client/gui/container/base/FCContainerEncodeTerminal.java +++ b/src/main/java/com/glodblock/github/client/gui/container/base/FCContainerEncodeTerminal.java @@ -121,7 +121,8 @@ public abstract class FCContainerEncodeTerminal extends ContainerItemMonitor super.doAction(player, action, slotId, id); return; } - if (validPatternSlot(slot) && (stack.getItem() instanceof IFluidContainerItem || FluidContainerRegistry.isContainer(stack))) { + if (validPatternSlot(slot) + && (stack.getItem() instanceof IFluidContainerItem || FluidContainerRegistry.isContainer(stack))) { FluidStack fluid = null; switch (action) { case PICKUP_OR_SET_DOWN: diff --git a/src/main/java/com/glodblock/github/client/me/FluidRepo.java b/src/main/java/com/glodblock/github/client/me/FluidRepo.java index 473607d8..ebeb9010 100644 --- a/src/main/java/com/glodblock/github/client/me/FluidRepo.java +++ b/src/main/java/com/glodblock/github/client/me/FluidRepo.java @@ -35,7 +35,6 @@ import cpw.mods.fml.relauncher.ReflectionHelper; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; -import java.util.Collections; import java.util.regex.Pattern; import javax.annotation.Nonnull; import net.minecraft.item.ItemStack; @@ -53,7 +52,6 @@ public class FluidRepo extends ItemRepo { private String searchString = ""; private IPartitionList myPartitionList; - private String innerSearch = ""; private String NEIWord = null; private boolean hasPower; @@ -107,35 +105,31 @@ public class FluidRepo extends ItemRepo { this.view.ensureCapacity(this.list.size()); this.dsp.ensureCapacity(this.list.size()); - final Enum viewMode = this.sortSrc.getSortDisplay(); - final Enum searchMode = AEConfig.instance.settings.getSetting(Settings.SEARCH_MODE); + final Enum viewMode = this.sortSrc.getSortDisplay(); + final Enum searchMode = AEConfig.instance.settings.getSetting(Settings.SEARCH_MODE); if (searchMode == SearchBoxMode.NEI_AUTOSEARCH || searchMode == SearchBoxMode.NEI_MANUAL_SEARCH) { this.updateNEI(this.searchString); } - this.innerSearch = this.searchString; - final boolean terminalSearchToolTips = - AEConfig.instance.settings.getSetting(Settings.SEARCH_TOOLTIPS) != YesNo.NO; - // boolean terminalSearchMods = Configuration.INSTANCE.settings.getSetting( Settings.SEARCH_MODS ) != YesNo.NO; + String innerSearch = this.searchString; boolean searchMod = false; - if (this.innerSearch.startsWith("@")) { + if (innerSearch.startsWith("@")) { searchMod = true; - this.innerSearch = this.innerSearch.substring(1); + innerSearch = innerSearch.substring(1); } - Pattern m = null; + Pattern m; try { - m = Pattern.compile(this.innerSearch.toLowerCase(), Pattern.CASE_INSENSITIVE); + m = Pattern.compile(innerSearch.toLowerCase(), Pattern.CASE_INSENSITIVE); } catch (final Throwable ignore) { try { - m = Pattern.compile(Pattern.quote(this.innerSearch.toLowerCase()), Pattern.CASE_INSENSITIVE); + m = Pattern.compile(Pattern.quote(innerSearch.toLowerCase()), Pattern.CASE_INSENSITIVE); } catch (final Throwable __) { return; } } - boolean notDone = false; for (IAEItemStack is : this.list) { if (this.myPartitionList != null) { if (!this.myPartitionList.isListed(is)) { @@ -166,27 +160,22 @@ public class FluidRepo extends ItemRepo { this.view.add(is); } } - - /* - * if ( terminalSearchMods && notDone ) { if ( m.matcher( Platform.getMod( is.getItemStack() ) ).find() ) { - * view.add( is ); notDone = false; } } - */ } - final Enum SortBy = this.sortSrc.getSortBy(); - final Enum SortDir = this.sortSrc.getSortDir(); + final Enum SortBy = this.sortSrc.getSortBy(); + final Enum SortDir = this.sortSrc.getSortDir(); FluidSorters.setDirection((appeng.api.config.SortDir) SortDir); FluidSorters.init(); if (SortBy == SortOrder.MOD) { - Collections.sort(this.view, FluidSorters.CONFIG_BASED_SORT_BY_MOD); + this.view.sort(FluidSorters.CONFIG_BASED_SORT_BY_MOD); } else if (SortBy == SortOrder.AMOUNT) { - Collections.sort(this.view, FluidSorters.CONFIG_BASED_SORT_BY_SIZE); + this.view.sort(FluidSorters.CONFIG_BASED_SORT_BY_SIZE); } else if (SortBy == SortOrder.INVTWEAKS) { - Collections.sort(this.view, FluidSorters.CONFIG_BASED_SORT_BY_INV_TWEAKS); + this.view.sort(FluidSorters.CONFIG_BASED_SORT_BY_INV_TWEAKS); } else { - Collections.sort(this.view, FluidSorters.CONFIG_BASED_SORT_BY_NAME); + this.view.sort(FluidSorters.CONFIG_BASED_SORT_BY_NAME); } for (final IAEItemStack is : this.view) { diff --git a/src/main/java/com/glodblock/github/inventory/gui/GuiType.java b/src/main/java/com/glodblock/github/inventory/gui/GuiType.java index 5a76d86f..88ff93d9 100644 --- a/src/main/java/com/glodblock/github/inventory/gui/GuiType.java +++ b/src/main/java/com/glodblock/github/inventory/gui/GuiType.java @@ -174,7 +174,7 @@ public enum GuiType { } }), - FLUID_PAT_TERM_CRAFTING_STATUS(new PartGuiFactory(FCPart.class) { + CRAFTING_STATUS(new PartGuiFactory(FCPart.class) { @Override protected Object createServerGui(EntityPlayer player, FCPart inv) { return new ContainerCraftingStatus(player.inventory, inv); diff --git a/src/main/java/com/glodblock/github/nei/FluidPatternTerminalRecipeTransferHandler.java b/src/main/java/com/glodblock/github/nei/FluidPatternTerminalRecipeTransferHandler.java index 2f15d0f4..ca29d4dd 100644 --- a/src/main/java/com/glodblock/github/nei/FluidPatternTerminalRecipeTransferHandler.java +++ b/src/main/java/com/glodblock/github/nei/FluidPatternTerminalRecipeTransferHandler.java @@ -4,7 +4,6 @@ import codechicken.nei.api.IOverlayHandler; import codechicken.nei.recipe.IRecipeHandler; import codechicken.nei.recipe.TemplateRecipeHandler; import com.glodblock.github.FluidCraft; -import com.glodblock.github.client.gui.GuiBaseFluidPatternTerminalEx; import com.glodblock.github.client.gui.GuiFluidPatternTerminal; import com.glodblock.github.client.gui.GuiFluidPatternTerminalEx; import com.glodblock.github.nei.object.OrderStack; @@ -32,8 +31,8 @@ public class FluidPatternTerminalRecipeTransferHandler implements IOverlayHandle public void overlayRecipe(GuiContainer firstGui, IRecipeHandler recipe, int recipeIndex, boolean shift) { if (isCorrectGui(firstGui)) { boolean priority = false; - if (firstGui instanceof GuiBaseFluidPatternTerminalEx) { - priority = ((GuiBaseFluidPatternTerminalEx) firstGui).container.prioritize; + if (firstGui instanceof GuiFluidPatternTerminalEx) { + priority = ((GuiFluidPatternTerminalEx) firstGui).container.prioritize; } List> in = FluidRecipe.getPackageInputs(recipe, recipeIndex, priority); List> out = FluidRecipe.getPackageOutputs(recipe, recipeIndex, !notUseOther(recipe)); diff --git a/src/main/java/com/glodblock/github/network/CPacketFluidPatternTermBtns.java b/src/main/java/com/glodblock/github/network/CPacketFluidPatternTermBtns.java index bf41cb17..f78bc299 100644 --- a/src/main/java/com/glodblock/github/network/CPacketFluidPatternTermBtns.java +++ b/src/main/java/com/glodblock/github/network/CPacketFluidPatternTermBtns.java @@ -1,9 +1,8 @@ package com.glodblock.github.network; import com.glodblock.github.client.gui.container.ContainerFluidCraftConfirm; -import com.glodblock.github.client.gui.container.ContainerFluidPatternTerminal; -import com.glodblock.github.client.gui.container.ContainerFluidPatternTerminalEx; import com.glodblock.github.client.gui.container.ContainerFluidStorageBus; +import com.glodblock.github.client.gui.container.base.FCContainerEncodeTerminal; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; import cpw.mods.fml.common.network.simpleimpl.MessageContext; @@ -64,8 +63,8 @@ public class CPacketFluidPatternTermBtns implements IMessage { String Name = message.Name; String Value = message.Value; final Container c = ctx.getServerHandler().playerEntity.openContainer; - if (Name.startsWith("PatternTerminal.") && (c instanceof ContainerFluidPatternTerminal)) { - final ContainerFluidPatternTerminal cpt = (ContainerFluidPatternTerminal) c; + if (Name.startsWith("PatternTerminal.") && (c instanceof FCContainerEncodeTerminal)) { + final FCContainerEncodeTerminal cpt = (FCContainerEncodeTerminal) c; switch (Name) { case "PatternTerminal.CraftMode": cpt.getPatternTerminal().setCraftingRecipe(Value.equals("1")); @@ -89,6 +88,9 @@ public class CPacketFluidPatternTermBtns implements IMessage { case "PatternTerminal.Substitute": cpt.getPatternTerminal().setSubstitution(Value.equals("1")); break; + case "PatternTerminal.Invert": + cpt.getPatternTerminal().setInverted(Value.equals("1")); + break; case "PatternTerminal.Double": cpt.doubleStacks(Value.equals("1")); break; @@ -98,47 +100,12 @@ public class CPacketFluidPatternTermBtns implements IMessage { case "PatternTerminal.beSubstitute": cpt.getPatternTerminal().setBeSubstitute(Value.equals("1")); break; - } - } else if (Name.startsWith("PatternTerminalEx.") && (c instanceof ContainerFluidPatternTerminalEx)) { - final ContainerFluidPatternTerminalEx cpt = (ContainerFluidPatternTerminalEx) c; - switch (Name) { - case "PatternTerminalEx.Encode": - switch (Value) { - case "0": - cpt.encode(); - break; - case "1": - cpt.encodeAndMoveToInventory(); - break; - case "3": - cpt.encodeAllItemAndMoveToInventory(); - break; - } - break; - case "PatternTerminalEx.Clear": - cpt.clear(); - break; - case "PatternTerminalEx.Substitute": - cpt.getPatternTerminal().setSubstitution(Value.equals("1")); - break; - case "PatternTerminalEx.Invert": - cpt.getPatternTerminal().setInverted(Value.equals("1")); - break; - case "PatternTerminalEx.Double": - cpt.doubleStacks(Value.equals("1")); - break; - case "PatternTerminalEx.Combine": - cpt.getPatternTerminal().setCombineMode(Value.equals("1")); - break; - case "PatternTerminalEx.ActivePage": + case "PatternTerminal.ActivePage": cpt.getPatternTerminal().setActivePage(Integer.parseInt(Value)); break; - case "PatternTerminalEx.Prioritize": + case "PatternTerminal.Prioritize": cpt.getPatternTerminal().setPrioritization(Value.equals("1")); break; - case "PatternTerminalEx.beSubstitute": - cpt.getPatternTerminal().setBeSubstitute(Value.equals("1")); - break; } } else if (Name.equals("Terminal.Cpu") && c instanceof ContainerFluidCraftConfirm) { final ContainerFluidCraftConfirm qk = (ContainerFluidCraftConfirm) c;