diff --git a/src/main/java/mekanism/client/gui/GuiPortableTeleporter.java b/src/main/java/mekanism/client/gui/GuiPortableTeleporter.java index cce00aacb..4db74cdf1 100644 --- a/src/main/java/mekanism/client/gui/GuiPortableTeleporter.java +++ b/src/main/java/mekanism/client/gui/GuiPortableTeleporter.java @@ -1,5 +1,7 @@ package mekanism.client.gui; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import mekanism.client.sound.SoundHandler; import mekanism.common.Mekanism; import mekanism.common.item.ItemPortableTeleporter; @@ -11,12 +13,8 @@ import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; - import org.lwjgl.opengl.GL11; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - @SideOnly(Side.CLIENT) public class GuiPortableTeleporter extends GuiScreen { @@ -49,23 +47,23 @@ public class GuiPortableTeleporter extends GuiScreen mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiPortableTeleporter.png")); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - int guiWidth = (width - xSize) / 2; - int guiHeight = (height - ySize) / 2; + int guiWidth = (width-xSize)/2; + int guiHeight = (height-ySize)/2; drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize); int displayInt; displayInt = getYAxisForNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 0)); - drawTexturedModalRect(guiWidth + 23, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+23, guiHeight+44, 176, displayInt, 13, 13); displayInt = getYAxisForNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 1)); - drawTexturedModalRect(guiWidth + 62, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+62, guiHeight+44, 176, displayInt, 13, 13); displayInt = getYAxisForNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 2)); - drawTexturedModalRect(guiWidth + 101, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+101, guiHeight+44, 176, displayInt, 13, 13); displayInt = getYAxisForNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 3)); - drawTexturedModalRect(guiWidth + 140, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+140, guiHeight+44, 176, displayInt, 13, 13); ItemPortableTeleporter item = (ItemPortableTeleporter)itemStack.getItem(); @@ -93,41 +91,37 @@ public class GuiPortableTeleporter extends GuiScreen { super.mouseClicked(mouseX, mouseY, button); - int xAxis = (mouseX - (width - xSize) / 2); - int yAxis = (mouseY - (height - ySize) / 2); + int xAxis = (mouseX-(width-xSize)/2); + int yAxis = (mouseY-(height-ySize)/2); - if(xAxis > 23 && xAxis < 37 && yAxis > 44 && yAxis < 58) + handleButtonClick(xAxis, yAxis, button, 0, 23, 37, 44, 58); + handleButtonClick(xAxis, yAxis, button, 1, 62, 76, 44, 58); + handleButtonClick(xAxis, yAxis, button, 2, 101, 115, 44, 58); + handleButtonClick(xAxis, yAxis, button, 3, 140, 154, 44, 58); + } + + private void handleButtonClick(int xAxis, int yAxis, int mouseButton, int clickedButtonIndex, int xmin, int xmax, int ymin, int ymax) + { + if(xAxis > xmin && xAxis < xmax && yAxis > ymin && yAxis < ymax) { - Mekanism.packetHandler.sendToServer(new DigitUpdateMessage(0, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 0)))); - ((ItemPortableTeleporter)itemStack.getItem()).setDigit(itemStack, 0, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 0))); - SoundHandler.playSound("gui.button.press"); - } - else if(xAxis > 62 && xAxis < 76 && yAxis > 44 && yAxis < 58) - { - Mekanism.packetHandler.sendToServer(new DigitUpdateMessage(1, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 1)))); - ((ItemPortableTeleporter)itemStack.getItem()).setDigit(itemStack, 1, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 1))); - SoundHandler.playSound("gui.button.press"); - } - else if(xAxis > 101 && xAxis < 115 && yAxis > 44 && yAxis < 58) - { - Mekanism.packetHandler.sendToServer(new DigitUpdateMessage(2, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 2)))); - ((ItemPortableTeleporter)itemStack.getItem()).setDigit(itemStack, 2, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 2))); - SoundHandler.playSound("gui.button.press"); - } - else if(xAxis > 140 && xAxis < 154 && yAxis > 44 && yAxis < 58) - { - Mekanism.packetHandler.sendToServer(new DigitUpdateMessage(3, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 3)))); - ((ItemPortableTeleporter)itemStack.getItem()).setDigit(itemStack, 3, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 3))); + int currentDigit = ((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, clickedButtonIndex); + int updatedDigit = getUpdatedNumber(currentDigit, mouseButton); + Mekanism.packetHandler.sendToServer(new DigitUpdateMessage(clickedButtonIndex, updatedDigit)); + ((ItemPortableTeleporter)itemStack.getItem()).setDigit(itemStack, clickedButtonIndex, updatedDigit); SoundHandler.playSound("gui.button.press"); } } - public int getIncrementedNumber(int i) + public int getUpdatedNumber(int i, int mouseButton) { - if(i < 9) i++; - else if(i == 9) i=0; - - return i; + if(mouseButton == 1) //right click + { + return (i-1+10)%10; //add 10 to ensure postive result + } + else + { + return (i+1)%10; + } } public int getYAxisForNumber(int i) diff --git a/src/main/java/mekanism/client/gui/GuiTeleporter.java b/src/main/java/mekanism/client/gui/GuiTeleporter.java index af99eeebf..dc007e310 100644 --- a/src/main/java/mekanism/client/gui/GuiTeleporter.java +++ b/src/main/java/mekanism/client/gui/GuiTeleporter.java @@ -2,6 +2,8 @@ package mekanism.client.gui; import java.util.ArrayList; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import mekanism.api.Coord4D; import mekanism.client.gui.GuiSlot.SlotOverlay; import mekanism.client.gui.GuiSlot.SlotType; @@ -13,12 +15,8 @@ import mekanism.common.tile.TileEntityTeleporter; import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils.ResourceType; import net.minecraft.entity.player.InventoryPlayer; - import org.lwjgl.opengl.GL11; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - @SideOnly(Side.CLIENT) public class GuiTeleporter extends GuiMekanism { @@ -36,11 +34,11 @@ public class GuiTeleporter extends GuiMekanism @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { - int xAxis = (mouseX - (width - xSize) / 2); - int yAxis = (mouseY - (height - ySize) / 2); + int xAxis = (mouseX-(width-xSize)/2); + int yAxis = (mouseY-(height-ySize)/2); fontRendererObj.drawString(tileEntity.getInventoryName(), 45, 6, 0x404040); - fontRendererObj.drawString(MekanismUtils.localize("container.inventory"), 8, (ySize - 96) + 2, 0x404040); + fontRendererObj.drawString(MekanismUtils.localize("container.inventory"), 8, (ySize-96)+2, 0x404040); fontRendererObj.drawString(tileEntity.getStatusDisplay(), 66, 19, 0x00CD00); if(xAxis >= 165 && xAxis <= 169 && yAxis >= 17 && yAxis <= 69) @@ -56,47 +54,71 @@ public class GuiTeleporter extends GuiMekanism { super.mouseClicked(x, y, button); - int xAxis = (x - (width - xSize) / 2); - int yAxis = (y - (height - ySize) / 2); + int xAxis = (x-(width-xSize)/2); + int yAxis = (y-(height-ySize)/2); - ArrayList data = new ArrayList(); + handleButtonClick(xAxis, yAxis, button, 23, 37, 44, 58, 0); + handleButtonClick(xAxis, yAxis, button, 62, 76, 44, 58, 1); + handleButtonClick(xAxis, yAxis, button, 101, 115, 44, 58, 2); + handleButtonClick(xAxis, yAxis, button, 140, 154, 44, 58, 3); + } - if(xAxis > 23 && xAxis < 37 && yAxis > 44 && yAxis < 58) + private void handleButtonClick(int xAxis, int yAxis, int mouseButton, int xmin, int xmax, int ymin, int ymax, int buttonIndex) + { + if(xAxis > xmin && xAxis < xmax && yAxis > ymin && yAxis < ymax) { - data.add(0); - data.add(getIncrementedNumber(tileEntity.code.digitOne)); + ArrayList data = new ArrayList(); + + int incrementedNumber = getUpdatedNumber(getButtonValue(buttonIndex), mouseButton); + + data.add(buttonIndex); + data.add(incrementedNumber); Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); - tileEntity.code.digitOne = getIncrementedNumber(tileEntity.code.digitOne); - SoundHandler.playSound("gui.button.press"); + setButton(buttonIndex, incrementedNumber); + SoundHandler.playSound("gui.button.press"); } - else if(xAxis > 62 && xAxis < 76 && yAxis > 44 && yAxis < 58) - { - data.add(1); - data.add(getIncrementedNumber(tileEntity.code.digitTwo)); + } - Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); - tileEntity.code.digitTwo = getIncrementedNumber(tileEntity.code.digitTwo); - SoundHandler.playSound("gui.button.press"); - } - else if(xAxis > 101 && xAxis < 115 && yAxis > 44 && yAxis < 58) + public void setButton(int index, int number) + { + if(index == 0) { - data.add(2); - data.add(getIncrementedNumber(tileEntity.code.digitThree)); - - Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); - tileEntity.code.digitThree = getIncrementedNumber(tileEntity.code.digitThree); - SoundHandler.playSound("gui.button.press"); + tileEntity.code.digitOne = number; } - else if(xAxis > 140 && xAxis < 154 && yAxis > 44 && yAxis < 58) + if(index == 1) { - data.add(3); - data.add(getIncrementedNumber(tileEntity.code.digitFour)); - - Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); - tileEntity.code.digitFour = getIncrementedNumber(tileEntity.code.digitFour); - SoundHandler.playSound("gui.button.press"); + tileEntity.code.digitTwo = number; } + if(index == 2) + { + tileEntity.code.digitThree = number; + } + if(index == 3) + { + tileEntity.code.digitFour = number; + } + } + + public int getButtonValue(int index) + { + if(index == 0) + { + return tileEntity.code.digitOne; + } + if(index == 1) + { + return tileEntity.code.digitTwo; + } + if(index == 2) + { + return tileEntity.code.digitThree; + } + if(index == 3) + { + return tileEntity.code.digitFour; + } + return 0;//should never happen } @Override @@ -104,41 +126,39 @@ public class GuiTeleporter extends GuiMekanism { mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiTeleporter.png")); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - int guiWidth = (width - xSize) / 2; - int guiHeight = (height - ySize) / 2; + int guiWidth = (width-xSize)/2; + int guiHeight = (height-ySize)/2; drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize); int displayInt; displayInt = tileEntity.getScaledEnergyLevel(52); - drawTexturedModalRect(guiWidth + 165, guiHeight + 17 + 52 - displayInt, 176 + 13, 52 - displayInt, 4, displayInt); + drawTexturedModalRect(guiWidth+165, guiHeight+17+52-displayInt, 176+13, 52-displayInt, 4, displayInt); displayInt = getYAxisForNumber(tileEntity.code.digitOne); - drawTexturedModalRect(guiWidth + 23, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+23, guiHeight+44, 176, displayInt, 13, 13); displayInt = getYAxisForNumber(tileEntity.code.digitTwo); - drawTexturedModalRect(guiWidth + 62, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+62, guiHeight+44, 176, displayInt, 13, 13); displayInt = getYAxisForNumber(tileEntity.code.digitThree); - drawTexturedModalRect(guiWidth + 101, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+101, guiHeight+44, 176, displayInt, 13, 13); displayInt = getYAxisForNumber(tileEntity.code.digitFour); - drawTexturedModalRect(guiWidth + 140, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+140, guiHeight+44, 176, displayInt, 13, 13); super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY); } - public int getIncrementedNumber(int i) + public int getUpdatedNumber(int i, int mouseButton) { - if(i < 9) + if(mouseButton == 1) //right click { - i++; + return (i-1+10)%10; //add 10 to ensure postive result } - else if(i == 9) + else { - i = 0; + return (i+1)%10; } - - return i; } public int getYAxisForNumber(int i)