mffs/src/main/java/mffs/gui/GuiFortronCapacitor.java

98 lines
3.9 KiB
Java

package mffs.gui;
import mffs.ModularForceFieldSystem;
import mffs.base.GuiBase;
import mffs.base.PacketTile;
import mffs.container.ContainerFortronCapacitor;
import mffs.gui.button.GuiButtonPressTransferMode;
import mffs.tileentity.TileEntityCoercionDeriver;
import mffs.tileentity.TileEntityFortronCapacitor;
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.electricity.ElectricityDisplay;
import universalelectricity.core.vector.Vector2;
import universalelectricity.core.vector.Vector3;
public class GuiFortronCapacitor extends GuiBase {
private TileEntityFortronCapacitor tileEntity;
public GuiFortronCapacitor(final EntityPlayer player,
final TileEntityFortronCapacitor tileentity) {
super(new ContainerFortronCapacitor(player, tileentity), tileentity);
this.tileEntity = tileentity;
}
@Override
public void initGui() {
super.textFieldPos = new Vector2(50.0, 76.0);
super.initGui();
this.buttonList.add(new GuiButtonPressTransferMode(
1, this.width / 2 + 15, this.height / 2 - 37, this, this.tileEntity));
}
@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);
GL11.glPushMatrix();
GL11.glRotatef(-90.0f, 0.0f, 0.0f, 1.0f);
this.drawTextWithTooltip("upgrade", -95, 140, x, y);
GL11.glPopMatrix();
this.drawTextWithTooltip("linkedDevice",
"%1: " + this.tileEntity.getLinkedDevices().size(),
8, 28, x, y);
this.drawTextWithTooltip("transmissionRate",
"%1: " +
ElectricityDisplay.getDisplayShort(
this.tileEntity.getTransmissionRate(),
ElectricityDisplay.ElectricUnit.JOULES),
8, 40, x, y);
this.drawTextWithTooltip(
"range", "%1: " + this.tileEntity.getTransmissionRange(), 8, 52, x, y);
this.drawTextWithTooltip("frequency", "%1:", 8, 63, x, y);
super.textFieldFrequency.drawTextBox();
this.drawTextWithTooltip("fortron", "%1:", 8, 95, x, y);
this.fontRendererObj.drawString(
ElectricityDisplay.getDisplayShort(
this.tileEntity.getFortronEnergy() * TileEntityCoercionDeriver.FORTRON_UE_RATIO,
ElectricityDisplay.ElectricUnit.JOULES) +
"/" +
ElectricityDisplay.getDisplayShort(
this.tileEntity.getFortronCapacity() * TileEntityCoercionDeriver.FORTRON_UE_RATIO,
ElectricityDisplay.ElectricUnit.JOULES),
8, 105, 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, 73);
this.drawSlot(26, 73);
this.drawForce(8, 115,
Math.min(this.tileEntity.getFortronEnergy() /
(float)this.tileEntity.getFortronCapacity(),
1.0f));
}
@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()));
}
}
}