package com.minemaarten.advancedmod.gui; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiTextField; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; import com.minemaarten.advancedmod.inventory.ContainerCamoMine; import com.minemaarten.advancedmod.network.MessageHandleGuiButtonPress; import com.minemaarten.advancedmod.network.MessageHandleTextUpdate; import com.minemaarten.advancedmod.network.NetworkHandler; import com.minemaarten.advancedmod.tileentity.TileEntityCamoMine; public class GuiCamoMine extends GuiAdvancedMod{ private final TileEntityCamoMine te; private GuiButton resetButton; private GuiTextField textField; public GuiCamoMine(InventoryPlayer playerInventory, TileEntityCamoMine te){ super(new ContainerCamoMine(playerInventory, te), "camoMine", te); this.te = te; } @Override public void initGui(){ super.initGui(); resetButton = new GuiButton(0, guiLeft + 10, guiTop + 37, 40, 20, ""); buttonList.add(resetButton); textField = new GuiTextField(fontRendererObj, guiLeft + 100, guiTop + 65, 70, 12); textField.setMaxStringLength(40); textField.setText(te.getTarget()); } @Override public void onTextfieldUpdate(int id){ if(id == 0) textField.setText(te.getTarget()); } /** * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e). */ @Override protected void keyTyped(char chr, int keyCode){ if(textField.textboxKeyTyped(chr, keyCode)) { NetworkHandler.sendToServer(new MessageHandleTextUpdate(te, 0, textField.getText())); } else { super.keyTyped(chr, keyCode); } } /** * Called when the mouse is clicked. */ @Override protected void mouseClicked(int mouseX, int mouseY, int button){ super.mouseClicked(mouseX, mouseY, button); textField.mouseClicked(mouseX, mouseY, button); } /** * Draws the screen and all the components in it. */ @Override public void drawScreen(int mouseX, int mouseY, float partialTick){ super.drawScreen(mouseX, mouseY, partialTick); GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_BLEND); textField.drawTextBox(); } @Override protected void actionPerformed(GuiButton button){ if(button.id == 0) NetworkHandler.sendToServer(new MessageHandleGuiButtonPress(te, 0)); } @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY){ super.drawGuiContainerForegroundLayer(mouseX, mouseY); fontRendererObj.drawString(I18n.format("gui.advancedMod.camoMine.target", te.getTimer()), 120, 55, 0xFF444444);//0xAARRGGBB if(te.getTimer() >= 0) fontRendererObj.drawString(I18n.format("gui.advancedMod.camoMine.timer", te.getTimer()), 10, 25, 0xFF444444);//0xAARRGGBB } @Override public void updateScreen(){ super.updateScreen(); resetButton.displayString = I18n.format("gui.advancedMod.camoMine.button." + (te.getTimer() == -1 ? "restart" : "reset")); } }