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 fpp
  • Field Details Link icon

    • UNLIMITED_LENGTH Link icon

      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 Lfpp;a:I
    • CURSOR_WIDTH Link icon

      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 Lfpp;b:I
    • textRenderer Link icon

      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 Lfpp;c:Lfod;
    • lines Link icon

      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 Lfpp;d:Ljava/util/List;
    • text Link icon

      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 Lfpp;e:Ljava/lang/String;
    • cursor Link icon

      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 Lfpp;f:I
    • selectionEnd Link icon

      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 Lfpp;g:I
    • selecting Link icon

      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 Lfpp;h:Z
    • maxLength Link icon

      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 Lfpp;i:I
    • width Link icon

      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 Lfpp;j:I
    • changeListener Link icon

      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 Lfpp;k:Ljava/util/function/Consumer;
    • cursorChangeListener Link icon

      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 Lfpp;l:Ljava/lang/Runnable;
  • Constructor Details Link icon

    • EditBox Link icon

      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> Lfpp;<init>(Lfod;I)V
  • Method Details Link icon

    • getMaxLength Link icon

      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 Lfpp;a()I
    • setMaxLength Link icon

      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 Lfpp;a(I)V
    • hasMaxLength Link icon

      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 Lfpp;b()Z
    • setChangeListener Link icon

      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 Lfpp;a(Ljava/util/function/Consumer;)V
    • setCursorChangeListener Link icon

      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 Lfpp;a(Ljava/lang/Runnable;)V
    • setText Link icon

      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 Lfpp;a(Ljava/lang/String;)V
    • getText Link icon

      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 Lfpp;c()Ljava/lang/String;
    • replaceSelection Link icon

      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 Lfpp;b(Ljava/lang/String;)V
    • delete Link icon

      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 Lfpp;b(I)V
    • getCursor Link icon

      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 Lfpp;d()I
    • setSelecting Link icon

      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 Lfpp;a(Z)V
    • getSelection Link icon

      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 Lfpp;e()Lfpp$a;
    • getLineCount Link icon

      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 Lfpp;f()I
    • getCurrentLineIndex Link icon

      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 Lfpp;g()I
    • getLine Link icon

      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 Lfpp;c(I)Lfpp$a;
    • moveCursor Link icon

      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 Lfpp;a(Lfqg;I)V
    • moveCursorLine Link icon

      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 Lfpp;d(I)V
    • moveCursor Link icon

      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 Lfpp;a(DD)V
    • handleSpecialKey Link icon

      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 Lfpp;e(I)Z
    • getLines Link icon

      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 Lfpp;h()Ljava/lang/Iterable;
    • hasSelection Link icon

      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 Lfpp;i()Z
    • getSelectedText Link icon

      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 Lfpp;j()Ljava/lang/String;
    • getCurrentLine Link icon

      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 Lfpp;m()Lfpp$a;
    • getOffsetLine Link icon

      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 Lfpp;f(I)Lfpp$a;
    • getPreviousWordAtCursor Link icon

      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 Lfpp;k()Lfpp$a;
    • getNextWordAtCursor Link icon

      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 Lfpp;l()Lfpp$a;
    • getWordEndIndex Link icon

      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 Lfpp;g(I)I
    • onChange Link icon

      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 Lfpp;n()V
    • rewrap Link icon

      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 Lfpp;o()V
    • truncateForReplacement Link icon

      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 Lfpp;c(Ljava/lang/String;)Ljava/lang/String;
    • truncate Link icon

      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 Lfpp;d(Ljava/lang/String;)Ljava/lang/String;