Class EditBox

java.lang.Object
net.minecraft.client.gui.EditBox

@Environment(CLIENT) public class EditBox extends Object
A multiline edit box with support for basic keyboard shortcuts. This should not be used directly; EditBoxWidget provides the GUI for the edit box.
Mappings:
Namespace Name
named net/minecraft/client/gui/EditBox
intermediary net/minecraft/class_7530
official fjb
  • Field Details

    • UNLIMITED_LENGTH

      public static final int UNLIMITED_LENGTH
      A constant denoting that the edit box accepts unlimited amount of text. Edit box widgets with such edit boxes do not show the current text length indicator.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named UNLIMITED_LENGTH Lnet/minecraft/client/gui/EditBox;UNLIMITED_LENGTH:I
      intermediary field_39511 Lnet/minecraft/class_7530;field_39511:I
      official a Lfjb;a:I
    • CURSOR_WIDTH

      private static final int CURSOR_WIDTH
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named CURSOR_WIDTH Lnet/minecraft/client/gui/EditBox;CURSOR_WIDTH:I
      intermediary field_39512 Lnet/minecraft/class_7530;field_39512:I
      official b Lfjb;b:I
    • textRenderer

      private final TextRenderer textRenderer
      Mappings:
      Namespace Name Mixin selector
      named textRenderer Lnet/minecraft/client/gui/EditBox;textRenderer:Lnet/minecraft/client/font/TextRenderer;
      intermediary field_39513 Lnet/minecraft/class_7530;field_39513:Lnet/minecraft/class_327;
      official c Lfjb;c:Lfhr;
    • lines

      private final List<EditBox.Substring> lines
      Mappings:
      Namespace Name Mixin selector
      named lines Lnet/minecraft/client/gui/EditBox;lines:Ljava/util/List;
      intermediary field_39514 Lnet/minecraft/class_7530;field_39514:Ljava/util/List;
      official d Lfjb;d:Ljava/util/List;
    • text

      private String text
      Mappings:
      Namespace Name Mixin selector
      named text Lnet/minecraft/client/gui/EditBox;text:Ljava/lang/String;
      intermediary field_39515 Lnet/minecraft/class_7530;field_39515:Ljava/lang/String;
      official e Lfjb;e:Ljava/lang/String;
    • cursor

      private int cursor
      Mappings:
      Namespace Name Mixin selector
      named cursor Lnet/minecraft/client/gui/EditBox;cursor:I
      intermediary field_39516 Lnet/minecraft/class_7530;field_39516:I
      official f Lfjb;f:I
    • selectionEnd

      private int selectionEnd
      Mappings:
      Namespace Name Mixin selector
      named selectionEnd Lnet/minecraft/client/gui/EditBox;selectionEnd:I
      intermediary field_39517 Lnet/minecraft/class_7530;field_39517:I
      official g Lfjb;g:I
    • selecting

      private boolean selecting
      Mappings:
      Namespace Name Mixin selector
      named selecting Lnet/minecraft/client/gui/EditBox;selecting:Z
      intermediary field_39518 Lnet/minecraft/class_7530;field_39518:Z
      official h Lfjb;h:Z
    • maxLength

      private int maxLength
      Mappings:
      Namespace Name Mixin selector
      named maxLength Lnet/minecraft/client/gui/EditBox;maxLength:I
      intermediary field_39519 Lnet/minecraft/class_7530;field_39519:I
      official i Lfjb;i:I
    • width

      private final int width
      Mappings:
      Namespace Name Mixin selector
      named width Lnet/minecraft/client/gui/EditBox;width:I
      intermediary field_39520 Lnet/minecraft/class_7530;field_39520:I
      official j Lfjb;j:I
    • changeListener

      private Consumer<String> changeListener
      Mappings:
      Namespace Name Mixin selector
      named changeListener Lnet/minecraft/client/gui/EditBox;changeListener:Ljava/util/function/Consumer;
      intermediary field_39521 Lnet/minecraft/class_7530;field_39521:Ljava/util/function/Consumer;
      official k Lfjb;k:Ljava/util/function/Consumer;
    • cursorChangeListener

      private Runnable cursorChangeListener
      Mappings:
      Namespace Name Mixin selector
      named cursorChangeListener Lnet/minecraft/client/gui/EditBox;cursorChangeListener:Ljava/lang/Runnable;
      intermediary field_39522 Lnet/minecraft/class_7530;field_39522:Ljava/lang/Runnable;
      official l Lfjb;l:Ljava/lang/Runnable;
  • Constructor Details

    • EditBox

      public EditBox(TextRenderer textRenderer, int width)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/client/gui/EditBox;<init>(Lnet/minecraft/client/font/TextRenderer;I)V
      intermediary <init> Lnet/minecraft/class_7530;<init>(Lnet/minecraft/class_327;I)V
      official <init> Lfjb;<init>(Lfhr;I)V
  • Method Details

    • getMaxLength

      public int getMaxLength()
      Returns the maximum length of the edit box text in characters.

      If this equals UNLIMITED_LENGTH, the edit box does not have a length limit. Edit box widgets with such edit boxes do not show the current text length indicator.

      Returns:
      the maximum length of the edit box text in characters
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named getMaxLength Lnet/minecraft/client/gui/EditBox;getMaxLength()I
      intermediary method_44409 Lnet/minecraft/class_7530;method_44409()I
      official a Lfjb;a()I
    • setMaxLength

      public void setMaxLength(int maxLength)
      Sets the maximum length of the edit box text in characters.

      If maxLength equals UNLIMITED_LENGTH, the edit box does not have a length limit. Edit box widgets with such edit boxes do not show the current text length indicator.

      Throws:
      IllegalArgumentException - if maxLength is negative
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named setMaxLength Lnet/minecraft/client/gui/EditBox;setMaxLength(I)V
      intermediary method_44411 Lnet/minecraft/class_7530;method_44411(I)V
      official a Lfjb;a(I)V
    • hasMaxLength

      public boolean hasMaxLength()
      Returns whether the edit box has a maximum length limit.

      Edit box widgets with edit boxes without a length limit do not show the current text length indicator.

      Returns:
      whether the edit box has a maximum length limit
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named hasMaxLength Lnet/minecraft/client/gui/EditBox;hasMaxLength()Z
      intermediary method_44418 Lnet/minecraft/class_7530;method_44418()Z
      official b Lfjb;b()Z
    • setChangeListener

      public void setChangeListener(Consumer<String> changeListener)
      Sets the change listener that is called every time the text changes.
      Parameters:
      changeListener - the listener that takes the new text of the edit box
      Mappings:
      Namespace Name Mixin selector
      named setChangeListener Lnet/minecraft/client/gui/EditBox;setChangeListener(Ljava/util/function/Consumer;)V
      intermediary method_44415 Lnet/minecraft/class_7530;method_44415(Ljava/util/function/Consumer;)V
      official a Lfjb;a(Ljava/util/function/Consumer;)V
    • setCursorChangeListener

      public void setCursorChangeListener(Runnable cursorChangeListener)
      Sets the cursor change listener that is called every time the cursor position changes.
      Mappings:
      Namespace Name Mixin selector
      named setCursorChangeListener Lnet/minecraft/client/gui/EditBox;setCursorChangeListener(Ljava/lang/Runnable;)V
      intermediary method_44413 Lnet/minecraft/class_7530;method_44413(Ljava/lang/Runnable;)V
      official a Lfjb;a(Ljava/lang/Runnable;)V
    • setText

      public void setText(String text)
      Sets the text of the edit box and moves the cursor to the end of the edit box.
      Mappings:
      Namespace Name Mixin selector
      named setText Lnet/minecraft/client/gui/EditBox;setText(Ljava/lang/String;)V
      intermediary method_44414 Lnet/minecraft/class_7530;method_44414(Ljava/lang/String;)V
      official a Lfjb;a(Ljava/lang/String;)V
    • getText

      public String getText()
      Returns the text of the edit box.
      Returns:
      the text of the edit box
      Mappings:
      Namespace Name Mixin selector
      named getText Lnet/minecraft/client/gui/EditBox;getText()Ljava/lang/String;
      intermediary method_44421 Lnet/minecraft/class_7530;method_44421()Ljava/lang/String;
      official c Lfjb;c()Ljava/lang/String;
    • replaceSelection

      public void replaceSelection(String string)
      Replaces the current selection with string. If there is no selection, this inserts the string at the cursor position. This removes invalid characters and truncates the passed string if necessary.
      Mappings:
      Namespace Name Mixin selector
      named replaceSelection Lnet/minecraft/client/gui/EditBox;replaceSelection(Ljava/lang/String;)V
      intermediary method_44420 Lnet/minecraft/class_7530;method_44420(Ljava/lang/String;)V
      official b Lfjb;b(Ljava/lang/String;)V
    • delete

      public void delete(int offset)
      Deletes the selected text, or offset characters of text from the cursor position if there is no selection. If the offset is negative, the characters before the cursor will be removed, and vice versa.
      Mappings:
      Namespace Name Mixin selector
      named delete Lnet/minecraft/client/gui/EditBox;delete(I)V
      intermediary method_44419 Lnet/minecraft/class_7530;method_44419(I)V
      official b Lfjb;b(I)V
    • getCursor

      public int getCursor()
      Returns the cursor position.
      Returns:
      the cursor position
      Mappings:
      Namespace Name Mixin selector
      named getCursor Lnet/minecraft/client/gui/EditBox;getCursor()I
      intermediary method_44424 Lnet/minecraft/class_7530;method_44424()I
      official d Lfjb;d()I
    • setSelecting

      public void setSelecting(boolean selecting)
      Sets whether the edit box is currently selecting.

      If using the widget, this is done by dragging or holding down Shift and clicking.

      Mappings:
      Namespace Name Mixin selector
      named setSelecting Lnet/minecraft/client/gui/EditBox;setSelecting(Z)V
      intermediary method_44417 Lnet/minecraft/class_7530;method_44417(Z)V
      official a Lfjb;a(Z)V
    • getSelection

      public EditBox.Substring getSelection()
      Returns the current selection.
      Returns:
      the current selection
      Mappings:
      Namespace Name Mixin selector
      named getSelection Lnet/minecraft/client/gui/EditBox;getSelection()Lnet/minecraft/client/gui/EditBox$Substring;
      intermediary method_44427 Lnet/minecraft/class_7530;method_44427()Lnet/minecraft/class_7530$class_7531;
      official e Lfjb;e()Lfjb$a;
    • getLineCount

      public int getLineCount()
      Returns the number of total lines in the edit box.
      Returns:
      the number of total lines in the edit box
      Mappings:
      Namespace Name Mixin selector
      named getLineCount Lnet/minecraft/client/gui/EditBox;getLineCount()I
      intermediary method_44430 Lnet/minecraft/class_7530;method_44430()I
      official f Lfjb;f()I
    • getCurrentLineIndex

      public int getCurrentLineIndex()
      Returns the line index that the cursor is located at.
      Returns:
      the line index that the cursor is located at
      Mappings:
      Namespace Name Mixin selector
      named getCurrentLineIndex Lnet/minecraft/client/gui/EditBox;getCurrentLineIndex()I
      intermediary method_44432 Lnet/minecraft/class_7530;method_44432()I
      official g Lfjb;g()I
    • getLine

      public EditBox.Substring getLine(int index)
      Returns the line with index index.
      Returns:
      the line with index index
      Mappings:
      Namespace Name Mixin selector
      named getLine Lnet/minecraft/client/gui/EditBox;getLine(I)Lnet/minecraft/client/gui/EditBox$Substring;
      intermediary method_44422 Lnet/minecraft/class_7530;method_44422(I)Lnet/minecraft/class_7530$class_7531;
      official c Lfjb;c(I)Lfjb$a;
    • moveCursor

      public void moveCursor(CursorMovement movement, int amount)
      Moves the cursor by amount characters.
      API Note:
      See CursorMovement for the types of the movement.
      Mappings:
      Namespace Name Mixin selector
      named moveCursor Lnet/minecraft/client/gui/EditBox;moveCursor(Lnet/minecraft/client/input/CursorMovement;I)V
      intermediary method_44412 Lnet/minecraft/class_7530;method_44412(Lnet/minecraft/class_7533;I)V
      official a Lfjb;a(Lfjs;I)V
    • moveCursorLine

      public void moveCursorLine(int offset)
      Moves the cursor by offset lines. This method attempts to keep the relative position within the line the same. Does nothing if offset is zero.
      Mappings:
      Namespace Name Mixin selector
      named moveCursorLine Lnet/minecraft/client/gui/EditBox;moveCursorLine(I)V
      intermediary method_44425 Lnet/minecraft/class_7530;method_44425(I)V
      official d Lfjb;d(I)V
    • moveCursor

      public void moveCursor(double x, double y)
      Moves the cursor to the specified position relative to the edit box.
      Mappings:
      Namespace Name Mixin selector
      named moveCursor Lnet/minecraft/client/gui/EditBox;moveCursor(DD)V
      intermediary method_44410 Lnet/minecraft/class_7530;method_44410(DD)V
      official a Lfjb;a(DD)V
    • handleSpecialKey

      public boolean handleSpecialKey(int keyCode)
      Handles the special keys, such as copy, cut, linebreak, and cursor movements.
      Mappings:
      Namespace Name Mixin selector
      named handleSpecialKey Lnet/minecraft/client/gui/EditBox;handleSpecialKey(I)Z
      intermediary method_44428 Lnet/minecraft/class_7530;method_44428(I)Z
      official e Lfjb;e(I)Z
    • getLines

      public Iterable<EditBox.Substring> getLines()
      Returns the lines of the edit box's text.
      Returns:
      the lines of the edit box's text
      Mappings:
      Namespace Name Mixin selector
      named getLines Lnet/minecraft/client/gui/EditBox;getLines()Ljava/lang/Iterable;
      intermediary method_44434 Lnet/minecraft/class_7530;method_44434()Ljava/lang/Iterable;
      official h Lfjb;h()Ljava/lang/Iterable;
    • hasSelection

      public boolean hasSelection()
      Returns whether the edit box has a selected text.
      Returns:
      whether the edit box has a selected text
      Mappings:
      Namespace Name Mixin selector
      named hasSelection Lnet/minecraft/client/gui/EditBox;hasSelection()Z
      intermediary method_44435 Lnet/minecraft/class_7530;method_44435()Z
      official i Lfjb;i()Z
    • getSelectedText

      public String getSelectedText()
      Returns the text that is currently selected, or an empty string if there is no selection.
      Returns:
      the text that is currently selected, or an empty string if there is no selection
      Mappings:
      Namespace Name Mixin selector
      named getSelectedText Lnet/minecraft/client/gui/EditBox;getSelectedText()Ljava/lang/String;
      intermediary method_44436 Lnet/minecraft/class_7530;method_44436()Ljava/lang/String;
      official j Lfjb;j()Ljava/lang/String;
    • getCurrentLine

      private EditBox.Substring getCurrentLine()
      Returns the line that the cursor is located at.
      Returns:
      the line that the cursor is located at
      Mappings:
      Namespace Name Mixin selector
      named getCurrentLine Lnet/minecraft/client/gui/EditBox;getCurrentLine()Lnet/minecraft/client/gui/EditBox$Substring;
      intermediary method_44439 Lnet/minecraft/class_7530;method_44439()Lnet/minecraft/class_7530$class_7531;
      official m Lfjb;m()Lfjb$a;
    • getOffsetLine

      private EditBox.Substring getOffsetLine(int offsetFromCurrent)
      Returns the line offset by offsetFromCurrent from the cursor's line.
      Returns:
      the line offset by offsetFromCurrent from the cursor's line
      Mappings:
      Namespace Name Mixin selector
      named getOffsetLine Lnet/minecraft/client/gui/EditBox;getOffsetLine(I)Lnet/minecraft/client/gui/EditBox$Substring;
      intermediary method_44431 Lnet/minecraft/class_7530;method_44431(I)Lnet/minecraft/class_7530$class_7531;
      official f Lfjb;f(I)Lfjb$a;
    • getPreviousWordAtCursor

      public EditBox.Substring getPreviousWordAtCursor()
      Returns the substring of a word whose start position is before the cursor.

      A word is a string consisting entirely of non-whitespace characters. If the cursor is in the middle of a word, the start position is that of the word; if not, the start position is that of the first word before the cursor.

      Returns:
      the substring of a word whose start position is before the cursor
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named getPreviousWordAtCursor Lnet/minecraft/client/gui/EditBox;getPreviousWordAtCursor()Lnet/minecraft/client/gui/EditBox$Substring;
      intermediary method_44437 Lnet/minecraft/class_7530;method_44437()Lnet/minecraft/class_7530$class_7531;
      official k Lfjb;k()Lfjb$a;
    • getNextWordAtCursor

      public EditBox.Substring getNextWordAtCursor()
      Returns the substring of a word whose start position is after the cursor.

      A word is a string consisting entirely of non-whitespace characters. If the cursor is in the middle of a word, the start position is that of the first word after the cursor; if not, the start position is that of the next word.

      Returns:
      the substring of a word whose start position is after the cursor
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named getNextWordAtCursor Lnet/minecraft/client/gui/EditBox;getNextWordAtCursor()Lnet/minecraft/client/gui/EditBox$Substring;
      intermediary method_44438 Lnet/minecraft/class_7530;method_44438()Lnet/minecraft/class_7530$class_7531;
      official l Lfjb;l()Lfjb$a;
    • getWordEndIndex

      private int getWordEndIndex(int startIndex)
      Returns the end index of the word starting at startIndex.

      A word is a string consisting entirely of non-whitespace characters. Therefore, the end index is the index of the character whose succeeding character is the first whitespace since startIndex.

      Returns:
      the end index of the word starting at startIndex
      Mappings:
      Namespace Name Mixin selector
      named getWordEndIndex Lnet/minecraft/client/gui/EditBox;getWordEndIndex(I)I
      intermediary method_44433 Lnet/minecraft/class_7530;method_44433(I)I
      official g Lfjb;g(I)I
    • onChange

      private void onChange()
      Called when the text changes. This rewraps the text, calls changeListener, then calls cursorChangeListener.
      Mappings:
      Namespace Name Mixin selector
      named onChange Lnet/minecraft/client/gui/EditBox;onChange()V
      intermediary method_44440 Lnet/minecraft/class_7530;method_44440()V
      official n Lfjb;n()V
    • rewrap

      private void rewrap()
      Rewraps the text. This is called whenever the text changes.
      Mappings:
      Namespace Name Mixin selector
      named rewrap Lnet/minecraft/client/gui/EditBox;rewrap()V
      intermediary method_44441 Lnet/minecraft/class_7530;method_44441()V
      official o Lfjb;o()V
    • truncateForReplacement

      private String truncateForReplacement(String value)
      Returns value truncated to at most maxLength characters.
      Returns:
      value truncated to at most maxLength characters
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named truncateForReplacement Lnet/minecraft/client/gui/EditBox;truncateForReplacement(Ljava/lang/String;)Ljava/lang/String;
      intermediary method_44423 Lnet/minecraft/class_7530;method_44423(Ljava/lang/String;)Ljava/lang/String;
      official c Lfjb;c(Ljava/lang/String;)Ljava/lang/String;
    • truncate

      private String truncate(String value)
      Returns value truncated to fit in the current text.

      For example, if the edit box with 100 characters limit currently has 90 characters, this method will return at most 10 characters.

      Returns:
      value truncated to fit in the current text
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named truncate Lnet/minecraft/client/gui/EditBox;truncate(Ljava/lang/String;)Ljava/lang/String;
      intermediary method_44426 Lnet/minecraft/class_7530;method_44426(Ljava/lang/String;)Ljava/lang/String;
      official d Lfjb;d(Ljava/lang/String;)Ljava/lang/String;