@Override public void drawScreen(int mouseX, int mouseY, float partialTicks) { this.drawDefaultBackground(); mc.getTextureManager().bindTexture(skrivemaskinegui); this.drawTexturedModalRect(this.width / 2 - 128, this.height / 2 - 128, 0, 0, 256, 256); /* this is where the editor reads keys and writes to the screen */ if (org.lwjgl.input.Keyboard.getEventKeyState()) { // if (isAllowedDeletion()) { text.deleteCharAt(cursorLocation); cursorLocation--; text.deleteCharAt(cursorLocation); text.insert(cursorLocation, cursor); // moving cursor } else if (isAllowedNewLine()) { text.deleteCharAt(cursorLocation); text.insert(cursorLocation, '\n'); cursorLocation++; text.insert(cursorLocation, cursor); // moving cursor } else if (isAllowedLeftArrowNavigation()) { text.deleteCharAt(cursorLocation); cursorLocation--; text.insert(cursorLocation, cursor); // moving cursor } else if (isAllowedRightArrowNavigation()) { text.deleteCharAt(cursorLocation); cursorLocation++; text.insert(cursorLocation, cursor); // moving cursor } else if (Keyboard.getEventKey() == Keyboard.KEY_TAB) { text.deleteCharAt(cursorLocation); for (int i = 0; i < 3; i++) { text.insert(cursorLocation, " "); cursorLocation++; } text.insert(cursorLocation, cursor); // moving cursor } else { if (isAllowedCharacters()) { // System.out.println(org.lwjgl.input.Keyboard.getEventKey()); text.deleteCharAt(cursorLocation); text.insert(cursorLocation, org.lwjgl.input.Keyboard.getEventCharacter()); cursorLocation++; text.insert(cursorLocation, cursor); // moving cursor } } org.lwjgl.input.Keyboard.destroy(); } else if (!org.lwjgl.input.Keyboard.isCreated()) { try { org.lwjgl.input.Keyboard.create(); } catch (Exception e) { } } /* writes the text string to the screen */ renderer.drawSplitString( text.toString(), this.width / 2 - 118, this.height / 2 - 119, 238, 0xFFFFF0); super.drawScreen(mouseX, mouseY, partialTicks); }