From ca7fc4aaf44d711c8d46524b8a89a20c32962fa9 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 15 Mar 2016 19:30:16 -0400 Subject: [PATCH] Formulaic Assemblicators are cool! --- .../client/gui/GuiFormulaicAssemblicator.java | 84 +++++++++++++----- src/main/java/mekanism/common/Mekanism.java | 2 +- .../TileEntityFormulaicAssemblicator.java | 16 +++- .../gui/GuiFormulaicAssemblicator.png | Bin 6978 -> 7291 bytes .../resources/assets/mekanism/lang/en_US.lang | 1 + 5 files changed, 79 insertions(+), 24 deletions(-) diff --git a/src/main/java/mekanism/client/gui/GuiFormulaicAssemblicator.java b/src/main/java/mekanism/client/gui/GuiFormulaicAssemblicator.java index 2b91bfd9c..c6ffa935f 100644 --- a/src/main/java/mekanism/client/gui/GuiFormulaicAssemblicator.java +++ b/src/main/java/mekanism/client/gui/GuiFormulaicAssemblicator.java @@ -15,6 +15,7 @@ import mekanism.client.gui.element.GuiSlot.SlotOverlay; import mekanism.client.gui.element.GuiSlot.SlotType; import mekanism.client.gui.element.GuiTransporterConfigTab; import mekanism.client.render.MekanismRenderer; +import mekanism.client.sound.SoundHandler; import mekanism.common.Mekanism; import mekanism.common.inventory.container.ContainerFormulaicAssemblicator; import mekanism.common.item.ItemCraftingFormula; @@ -67,6 +68,11 @@ public class GuiFormulaicAssemblicator extends GuiMekanism fontRendererObj.drawString(tileEntity.getInventoryName(), (xSize/2)-(fontRendererObj.getStringWidth(tileEntity.getInventoryName())/2), 6, 0x404040); fontRendererObj.drawString(LangUtils.localize("container.inventory"), 8, (ySize - 96) + 2, 0x404040); + if(xAxis >= 44 && xAxis <= 60 && yAxis >= 75 && yAxis <= 91) + { + drawCreativeTabHoveringText(LangUtils.localize("gui.fillEmpty"), xAxis, yAxis); + } + if(xAxis >= 7 && xAxis <= 21 && yAxis >= 45 && yAxis <= 59) { drawCreativeTabHoveringText(LangUtils.localize("gui.encodeFormula"), xAxis, yAxis); @@ -102,6 +108,20 @@ public class GuiFormulaicAssemblicator extends GuiMekanism int xAxis = mouseX - guiWidth; int yAxis = mouseY - guiHeight; + if(!tileEntity.autoMode) + { + if(xAxis >= 44 && xAxis <= 60 && yAxis >= 75 && yAxis <= 91) + { + drawTexturedModalRect(guiWidth + 44, guiHeight + 75, 176 + 62, 0, 16, 16); + } + else { + drawTexturedModalRect(guiWidth + 44, guiHeight + 75, 176 + 62, 16, 16, 16); + } + } + else { + drawTexturedModalRect(guiWidth + 44, guiHeight + 75, 176 + 62, 32, 16, 16); + } + if(!tileEntity.autoMode && tileEntity.isRecipe) { if(canEncode()) @@ -114,6 +134,9 @@ public class GuiFormulaicAssemblicator extends GuiMekanism drawTexturedModalRect(guiWidth + 7, guiHeight + 45, 176, 14, 14, 14); } } + else { + drawTexturedModalRect(guiWidth + 7, guiHeight + 45, 176, 28, 14, 14); + } if(xAxis >= 71 && xAxis <= 87 && yAxis >= 75 && yAxis <= 91) { @@ -203,33 +226,52 @@ public class GuiFormulaicAssemblicator extends GuiMekanism int xAxis = (mouseX - (width - xSize) / 2); int yAxis = (mouseY - (height - ySize) / 2); - if(!tileEntity.autoMode && tileEntity.isRecipe) + if(!tileEntity.autoMode) { - if(canEncode()) + if(xAxis >= 44 && xAxis <= 60 && yAxis >= 75 && yAxis <= 91) { - if(xAxis >= 7 && xAxis <= 21 && yAxis >= 45 && yAxis <= 59) + SoundHandler.playSound("gui.button.press"); + + ArrayList data = new ArrayList(); + data.add(4); + + Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); + } + + if(tileEntity.isRecipe) + { + if(canEncode()) { + if(xAxis >= 7 && xAxis <= 21 && yAxis >= 45 && yAxis <= 59) + { + SoundHandler.playSound("gui.button.press"); + + ArrayList data = new ArrayList(); + data.add(1); + + Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); + } + } + + if(xAxis >= 71 && xAxis <= 87 && yAxis >= 75 && yAxis <= 91) + { + SoundHandler.playSound("gui.button.press"); + ArrayList data = new ArrayList(); - data.add(1); + data.add(2); + + Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); + } + + if(xAxis >= 89 && xAxis <= 105 && yAxis >= 75 && yAxis <= 91) + { + SoundHandler.playSound("gui.button.press"); + + ArrayList data = new ArrayList(); + data.add(3); Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); } - } - - if(xAxis >= 71 && xAxis <= 87 && yAxis >= 75 && yAxis <= 91) - { - ArrayList data = new ArrayList(); - data.add(2); - - Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); - } - - if(xAxis >= 89 && xAxis <= 105 && yAxis >= 75 && yAxis <= 91) - { - ArrayList data = new ArrayList(); - data.add(3); - - Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); } } @@ -237,6 +279,8 @@ public class GuiFormulaicAssemblicator extends GuiMekanism { if(xAxis >= 107 && xAxis <= 123 && yAxis >= 75 && yAxis <= 91) { + SoundHandler.playSound("gui.button.press"); + ArrayList data = new ArrayList(); data.add(0); diff --git a/src/main/java/mekanism/common/Mekanism.java b/src/main/java/mekanism/common/Mekanism.java index 567acc64b..2bdbb49bb 100644 --- a/src/main/java/mekanism/common/Mekanism.java +++ b/src/main/java/mekanism/common/Mekanism.java @@ -520,7 +520,7 @@ public class Mekanism "OCO", "ATA", "OCO", Character.valueOf('O'), "ingotRefinedObsidian", Character.valueOf('C'), MekanismUtils.getControlCircuit(BaseTier.ULTIMATE), Character.valueOf('A'), "alloyUltimate", Character.valueOf('T'), MekanismItems.TeleportationCore })); MachineType.FORMULAIC_ASSEMBLICATOR.addRecipe(new ShapedMekanismRecipe(new ItemStack(MekanismBlocks.MachineBlock3, 1, 5), new Object[] { - "STS", "BIB", "SCS", Character.valueOf('S'), "ingotSteel", Character.valueOf('T'), Blocks.crafting_table, Character.valueOf('B'), MekanismUtils.getControlCircuit(BaseTier.BASIC), Character.valueOf('I'), new ItemStack(MekanismBlocks.MachineBlock, 1, 8), Character.valueOf('C'), Blocks.chest + "STS", "BIB", "SCS", Character.valueOf('S'), "ingotSteel", Character.valueOf('T'), Blocks.crafting_table, Character.valueOf('B'), MekanismUtils.getControlCircuit(BaseTier.BASIC), Character.valueOf('I'), new ItemStack(MekanismBlocks.BasicBlock, 1, 8), Character.valueOf('C'), Blocks.chest })); CraftingManager.getInstance().getRecipeList().add(new ShapelessMekanismRecipe(new ItemStack(MekanismItems.CraftingFormula), new Object[] { Items.paper, MekanismUtils.getControlCircuit(BaseTier.BASIC) diff --git a/src/main/java/mekanism/common/tile/TileEntityFormulaicAssemblicator.java b/src/main/java/mekanism/common/tile/TileEntityFormulaicAssemblicator.java index f39623c3c..f80abd209 100644 --- a/src/main/java/mekanism/common/tile/TileEntityFormulaicAssemblicator.java +++ b/src/main/java/mekanism/common/tile/TileEntityFormulaicAssemblicator.java @@ -344,11 +344,11 @@ public class TileEntityFormulaicAssemblicator extends TileEntityElectricBlock im while(craftSingle()); } - private void moveItemsToInput() + private void moveItemsToInput(boolean forcePush) { for(int i = 27; i <= 35; i++) { - if(inventory[i] != null && formula != null && !formula.isIngredientInPos(worldObj, inventory[i], i-27)) + if(inventory[i] != null && (forcePush || (formula != null && !formula.isIngredientInPos(worldObj, inventory[i], i-27)))) { inventory[i] = tryMoveToInput(inventory[i]); } @@ -364,7 +364,7 @@ public class TileEntityFormulaicAssemblicator extends TileEntityElectricBlock im } else if(formula != null) { - moveItemsToInput(); + moveItemsToInput(false); autoMode = true; } @@ -547,6 +547,16 @@ public class TileEntityFormulaicAssemblicator extends TileEntityElectricBlock im { craftAll(); } + else if(type == 4) + { + if(formula != null) + { + moveItemsToGrid(); + } + else { + moveItemsToInput(true); + } + } return; } diff --git a/src/main/resources/assets/mekanism/gui/GuiFormulaicAssemblicator.png b/src/main/resources/assets/mekanism/gui/GuiFormulaicAssemblicator.png index 0bb436c0f23872b3d97904de4e58fa256c96aad1..12b4246bb645fa74832b89150cd88edcb23f45e1 100644 GIT binary patch delta 6129 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 YAc_~ei`0_W1)z`NB@^9Z9hb;|1CefcVgLXD delta 5817 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 diff --git a/src/main/resources/assets/mekanism/lang/en_US.lang b/src/main/resources/assets/mekanism/lang/en_US.lang index 7e30c7eb5..59ed5d2db 100644 --- a/src/main/resources/assets/mekanism/lang/en_US.lang +++ b/src/main/resources/assets/mekanism/lang/en_US.lang @@ -536,6 +536,7 @@ gui.encodeFormula=Encode Formula gui.autoModeToggle=Turn Auto-Mode gui.craftSingle=Craft Single Item gui.craftAvailable=Craft Available Items +gui.fillEmpty=Fill/Empty Grid gui.reactor.injectionRate=Injection Rate