package mods.eln.transparentnode.teleporter; import mods.eln.gui.*; import net.minecraft.client.gui.GuiButton; import net.minecraft.entity.player.EntityPlayer; import static mods.eln.i18n.I18N.tr; public class TeleporterGui extends GuiScreenEln { public TeleporterGui(EntityPlayer player, TeleporterRender render) { this.render = render; } GuiTextFieldEln name; GuiTextFieldEln target; GuiVerticalTrackBar chargePower; GuiVerticalTrackBarHeat chargeBar; GuiButton start; TeleporterRender render; @Override public void initGui() { super.initGui(); name = newGuiTextField(6, 6, 80); target = newGuiTextField(6, 6 + 20, 80); start = newGuiButton(6, 6 + 20 + 6 + 12, 80, tr("Start")); chargePower = newGuiVerticalTrackBar(6 + 80 + 6, 7, 20, 56); chargePower.setRange(2000, 20000); chargePower.setStepIdMax(20 / 2 * 10); chargeBar = newGuiVerticalTrackBarHeat(6 + 80 + 6 + 20 + 6, 7, 20, 56); chargeBar.sliderDrawEnable = false; name.setText(render.name); target.setText(render.targetName); chargePower.setValue(render.chargePower); name.setComment(0, tr("Transporter name")); target.setComment(0, tr("Destination transporter")); chargePower.setComment(0, tr("Power consumption:")); } @Override public void guiObjectEvent(IGuiObject object) { super.guiObjectEvent(object); if (object == start) { render.clientSendId(TeleporterElement.startId); } if (object == name) { render.clientSendString(TeleporterElement.setNameId, name.getText()); } if (object == target) { render.clientSendString(TeleporterElement.setTargetNameId, target.getText()); } if (object == chargePower) { render.clientSendFloat(TeleporterElement.setChargePowerId, chargePower.getValue()); } } @Override protected void preDraw(float f, int x, int y) { super.preDraw(f, x, y); if (render.chargePowerNew) { chargePower.setValue(render.chargePower); render.chargePowerNew = false; } chargePower.setComment(0, tr("Power consumption: %1$W", chargePower.getValue())); start.enabled = render.state == TeleporterElement.StateIdle; chargeBar.setRange(0, render.energyTarget); chargeBar.temperatureHit = render.energyHit; chargeBar.setComment(0, tr("Required energy: %1$J", render.energyTarget)); chargeBar.setComment(1, ((int) (render.processRatio * 100)) + "%"); /* if(render.defaultOutput) toogleDefaultOutput.displayString = "default output is high"; else toogleDefaultOutput.displayString = "default output is low";*/ } @Override protected GuiHelper newHelper() { return new GuiHelper(this, 6 + 80 + 6 + 20 + 6 + 2 + 26, 70); } }