package mods.eln.sixnode.electricalmath; import mods.eln.gui.GuiContainerEln; import mods.eln.gui.GuiHelperContainer; import mods.eln.gui.GuiTextFieldEln; import mods.eln.gui.IGuiObject; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import static mods.eln.i18n.I18N.tr; public class ElectricalMathGui extends GuiContainerEln { GuiTextFieldEln expression; ElectricalMathRender render; public ElectricalMathGui(EntityPlayer player, IInventory inventory, ElectricalMathRender render) { super(new ElectricalMathContainer(null, player, inventory)); //this.inventory = (TransparentNodeElementInventory) inventory; this.render = render; } @Override protected GuiHelperContainer newHelper() { return new GuiHelperContainer(this, 176 + 44, 166 - 38, 8 + 44 / 2, 84 - 38); } @Override public void initGui() { super.initGui(); expression = newGuiTextField(8, 8, 176 - 16 + 44); expression.setText(render.expression); expression.setObserver(this); expression.setComment(new String[]{tr("Output voltage formula"), tr("Inputs are") + " \u00a74A \u00a72B \u00a71C"}); } @Override public void guiObjectEvent(IGuiObject object) { super.guiObjectEvent(object); if (object == expression) { render.clientSetString(ElectricalMathElement.setExpressionId, expression.getText()); } } @Override protected void postDraw(float f, int x, int y) { super.postDraw(f, x, y); int c; int redNbr = 0; ItemStack stack = render.inventory.getStackInSlot(ElectricalMathContainer.restoneSlotId); if (stack != null) redNbr = stack.stackSize; if (!expression.getText().equals(render.expression)) { c = 0xFF404040; helper.drawString(8 + 44 / 2, 29, c, tr("Waiting for completion...")); } else if (expression.getText().equals("")) { c = 0xFF404040; helper.drawString(8 + 44 / 2, 29, c, tr("Equation required!")); } else if (render.equationIsValid) { if (redNbr >= render.redstoneRequired) c = 0xFF108F00; else c = 0xFFFF0000; helper.drawString(8 + 44 / 2, 29, c, tr("%1$ Redstone(s) required", render.redstoneRequired)); } else { c = 0xFFFF0000; helper.drawString(8 + 44 / 2, 29, c, tr("Invalid equation!")); } } }