/** replaces selected text, or inserts text at the position on the cursor */ public void writeText(String par1Str) { String var2 = ""; String var3 = ChatAllowedCharacters.filerAllowedCharacters(par1Str); int var4 = this.cursorPosition < this.selectionEnd ? this.cursorPosition : this.selectionEnd; int var5 = this.cursorPosition < this.selectionEnd ? this.selectionEnd : this.cursorPosition; int var6 = this.maxStringLength - this.text.length() - (var4 - this.selectionEnd); boolean var7 = false; if (this.text.length() > 0) { var2 = var2 + this.text.substring(0, var4); } int var8; if (var6 < var3.length()) { var2 = var2 + var3.substring(0, var6); var8 = var6; } else { var2 = var2 + var3; var8 = var3.length(); } if (this.text.length() > 0 && var5 < this.text.length()) { var2 = var2 + this.text.substring(var5); } this.text = var2; this.moveCursorBy(var4 - this.selectionEnd + var8); }