generated from tilera/1710mod
111 lines
4.5 KiB
Java
111 lines
4.5 KiB
Java
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()));
|
|
}
|
|
}
|
|
}
|