Class EditBox
EditBoxWidget
provides the GUI for the edit box.- Mappings:
Namespace Name named net/minecraft/client/gui/EditBox
intermediary net/minecraft/class_7530
official fia
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static final record
A substring of an edit box's text, specified using the indices of the start and the end. -
Field Summary
Modifier and TypeFieldDescriptionprivate int
private static final int
private Runnable
private final List
<EditBox.Substring> private int
private boolean
private int
private String
private final TextRenderer
static final int
A constant denoting that the edit box accepts unlimited amount of text.private final int
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
delete
(int offset) Deletes the selected text, oroffset
characters of text from the cursor position if there is no selection.private EditBox.Substring
Returns the line that the cursor is located at.int
Returns the line index that the cursor is located at.int
Returns the cursor position.getLine
(int index) Returns the line with indexindex
.int
Returns the number of total lines in the edit box.getLines()
Returns the lines of the edit box's text.int
Returns the maximum length of the edit box text in characters.Returns the substring of a word whose start position is after the cursor.private EditBox.Substring
getOffsetLine
(int offsetFromCurrent) Returns the line offset byoffsetFromCurrent
from the cursor's line.Returns the substring of a word whose start position is before the cursor.Returns the text that is currently selected, or an empty string if there is no selection.Returns the current selection.getText()
Returns the text of the edit box.private int
getWordEndIndex
(int startIndex) Returns the end index of the word starting atstartIndex
.boolean
handleSpecialKey
(int keyCode) Handles the special keys, such as copy, cut, linebreak, and cursor movements.boolean
Returns whether the edit box has a maximum length limit.boolean
Returns whether the edit box has a selected text.void
moveCursor
(double x, double y) Moves the cursor to the specified position relative to the edit box.void
moveCursor
(CursorMovement movement, int amount) Moves the cursor byamount
characters.void
moveCursorLine
(int offset) Moves the cursor byoffset
lines.private void
onChange()
Called when the text changes.void
replaceSelection
(String string) Replaces the current selection withstring
.private void
rewrap()
Rewraps the text.void
setChangeListener
(Consumer<String> changeListener) Sets the change listener that is called every time the text changes.void
setCursorChangeListener
(Runnable cursorChangeListener) Sets the cursor change listener that is called every time the cursor position changes.void
setMaxLength
(int maxLength) Sets the maximum length of the edit box text in characters.void
setSelecting
(boolean selecting) Sets whether the edit box is currently selecting.void
Sets the text of the edit box and moves the cursor to the end of the edit box.private String
Returnsvalue
truncated to fit in the current text.private String
truncateForReplacement
(String value) Returnsvalue
truncated to at mostmaxLength
characters.
-
Field Details
-
UNLIMITED_LENGTH
public static final int UNLIMITED_LENGTHA 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
Lfia;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
Lfia;b:I
-
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
Lfia;c:Lfgq;
-
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
Lfia;d:Ljava/util/List;
-
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
Lfia;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
Lfia;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
Lfia;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
Lfia;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
Lfia;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
Lfia;j:I
-
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
Lfia;k:Ljava/util/function/Consumer;
-
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
Lfia;l:Ljava/lang/Runnable;
-
-
Constructor Details
-
EditBox
- 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>
Lfia;<init>(Lfgq;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
Lfia;a()I
-
setMaxLength
public void setMaxLength(int maxLength) Sets the maximum length of the edit box text in characters.If
maxLength
equalsUNLIMITED_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
- ifmaxLength
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
Lfia;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
Lfia;b()Z
-
setChangeListener
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
Lfia;a(Ljava/util/function/Consumer;)V
-
setCursorChangeListener
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
Lfia;a(Ljava/lang/Runnable;)V
-
setText
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
Lfia;a(Ljava/lang/String;)V
-
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
Lfia;c()Ljava/lang/String;
-
replaceSelection
Replaces the current selection withstring
. 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
Lfia;b(Ljava/lang/String;)V
-
delete
public void delete(int offset) Deletes the selected text, oroffset
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
Lfia;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
Lfia;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
Lfia;a(Z)V
-
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
Lfia;e()Lfia$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
Lfia;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
Lfia;g()I
-
getLine
Returns the line with indexindex
.- 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
Lfia;c(I)Lfia$a;
-
moveCursor
Moves the cursor byamount
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
Lfia;a(Lfir;I)V
-
moveCursorLine
public void moveCursorLine(int offset) Moves the cursor byoffset
lines. This method attempts to keep the relative position within the line the same. Does nothing ifoffset
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
Lfia;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
Lfia;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
Lfia;e(I)Z
-
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
Lfia;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
Lfia;i()Z
-
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
Lfia;j()Ljava/lang/String;
-
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
Lfia;m()Lfia$a;
-
getOffsetLine
Returns the line offset byoffsetFromCurrent
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
Lfia;f(I)Lfia$a;
-
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
Lfia;k()Lfia$a;
-
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
Lfia;l()Lfia$a;
-
getWordEndIndex
private int getWordEndIndex(int startIndex) Returns the end index of the word starting atstartIndex
.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
Lfia;g(I)I
-
onChange
private void onChange()Called when the text changes. This rewraps the text, callschangeListener
, then callscursorChangeListener
.- 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
Lfia;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
Lfia;o()V
-
truncateForReplacement
Returnsvalue
truncated to at mostmaxLength
characters.- Returns:
value
truncated to at mostmaxLength
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
Lfia;c(Ljava/lang/String;)Ljava/lang/String;
-
truncate
Returnsvalue
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
Lfia;d(Ljava/lang/String;)Ljava/lang/String;
-