package mffs.gui; import mffs.ModularForceFieldSystem; import mffs.base.GuiBase; import mffs.base.PacketTile; import mffs.container.ContainerCoercionDeriver; import mffs.tileentity.TileEntityCoercionDeriver; import net.minecraft.client.gui.GuiButton; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import org.lwjgl.opengl.GL11; import universalelectricity.core.UniversalElectricity; import universalelectricity.core.electricity.ElectricityDisplay; import universalelectricity.core.vector.Vector2; import universalelectricity.core.vector.Vector3; public class GuiCoercionDeriver extends GuiBase { private TileEntityCoercionDeriver tileEntity; public GuiCoercionDeriver(final EntityPlayer player, final TileEntityCoercionDeriver tileentity) { super(new ContainerCoercionDeriver(player, tileentity), tileentity); this.tileEntity = tileentity; } @Override public void initGui() { super.textFieldPos = new Vector2(30.0, 43.0); super.initGui(); this.buttonList.add(new GuiButton(1, this.width / 2 - 10, this.height / 2 - 28, 58, 20, "Derive")); } @Override protected void drawGuiContainerForegroundLayer(final int x, final int y) { this.fontRendererObj.drawString( this.tileEntity.getInventoryName(), this.xSize / 2 - this.fontRendererObj.getStringWidth( this.tileEntity.getInventoryName()) / 2, 6, 4210752); this.drawTextWithTooltip("frequency", "%1:", 8, 30, x, y); super.textFieldFrequency.drawTextBox(); GL11.glPushMatrix(); GL11.glRotatef(-90.0f, 0.0f, 0.0f, 1.0f); this.drawTextWithTooltip("upgrade", -95, 140, x, y); GL11.glPopMatrix(); if (this.buttonList.get(1) instanceof GuiButton) { if (!this.tileEntity.isInversed) { ((GuiButton) this.buttonList.get(1)).displayString = "Derive"; } else { ((GuiButton) this.buttonList.get(1)).displayString = "Integrate"; } } this.fontRendererObj.drawString( 1000.0 * UniversalElectricity.UE_RF_RATIO + " RF/s", 85, 30, 4210752); this.fontRendererObj.drawString( 1000.0 * UniversalElectricity.UE_IC2_RATIO + " EU/s", 85, 40, 4210752); this.fontRendererObj.drawString( ElectricityDisplay.getDisplayShort( 1000.0, ElectricityDisplay.ElectricUnit.WATT), 85, 50, 4210752); this.fontRendererObj.drawString( ElectricityDisplay.getDisplayShort( this.tileEntity.getVoltage(), ElectricityDisplay.ElectricUnit.VOLTAGE), 85, 60, 4210752); this.drawTextWithTooltip( "progress", "%1: " + (this.tileEntity.isActive() ? "Running" : "Idle"), 8, 70, x, y); this.drawTextWithTooltip("fortron", "%1: " + ElectricityDisplay.getDisplayShort( this.tileEntity.getFortronEnergy() * TileEntityCoercionDeriver.FORTRON_UE_RATIO, ElectricityDisplay.ElectricUnit.JOULES), 8, 105, x, y); this.fontRendererObj.drawString( "ยง2+" + ElectricityDisplay.getDisplayShort( this.tileEntity.getProductionRate() * 20, ElectricityDisplay.ElectricUnit.JOULES), 120, 117, 4210752); super.drawGuiContainerForegroundLayer(x, y); } @Override protected void drawGuiContainerBackgroundLayer(final float f, final int x, final int y) { super.drawGuiContainerBackgroundLayer(f, x, y); this.drawSlot(153, 46); this.drawSlot(153, 66); this.drawSlot(153, 86); this.drawSlot(8, 40); this.drawSlot(8, 82, SlotType.BATTERY); this.drawSlot(28, 82); this.drawBar(50, 84, 1.0f); this.drawForce(8, 115, this.tileEntity.getFortronEnergy() / (float) this.tileEntity.getFortronCapacity()); } @Override protected void actionPerformed(final GuiButton guibutton) { super.actionPerformed(guibutton); if (guibutton.id == 1) { ModularForceFieldSystem.channel.sendToServer( new PacketTile(PacketTile.Type.TOGGLE_MODE, new Vector3(this.tileEntity), new NBTTagCompound())); } } }