Formulaic Assemblicators are cool!
This commit is contained in:
parent
9c8e392638
commit
ca7fc4aaf4
5 changed files with 79 additions and 24 deletions
|
@ -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,12 +226,26 @@ 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(xAxis >= 44 && xAxis <= 60 && yAxis >= 75 && yAxis <= 91)
|
||||
{
|
||||
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);
|
||||
|
||||
|
@ -218,6 +255,8 @@ public class GuiFormulaicAssemblicator extends GuiMekanism
|
|||
|
||||
if(xAxis >= 71 && xAxis <= 87 && yAxis >= 75 && yAxis <= 91)
|
||||
{
|
||||
SoundHandler.playSound("gui.button.press");
|
||||
|
||||
ArrayList data = new ArrayList();
|
||||
data.add(2);
|
||||
|
||||
|
@ -226,17 +265,22 @@ public class GuiFormulaicAssemblicator extends GuiMekanism
|
|||
|
||||
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(tileEntity.formula != null)
|
||||
{
|
||||
if(xAxis >= 107 && xAxis <= 123 && yAxis >= 75 && yAxis <= 91)
|
||||
{
|
||||
SoundHandler.playSound("gui.button.press");
|
||||
|
||||
ArrayList data = new ArrayList();
|
||||
data.add(0);
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 7.1 KiB |
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue