Class EditBox

java.lang.Object
net.minecraft.client.gui.components.AbstractWidget
net.minecraft.client.gui.components.EditBox
All Implemented Interfaces:
GuiEventListener, Renderable, TabOrderedElement, LayoutElement, NarratableEntry, NarrationSupplier, IAbstractWidgetExtension

public class EditBox extends AbstractWidget implements Renderable
  • Field Details

    • SPRITES

      private static final WidgetSprites SPRITES
    • BACKWARDS

      public static final int BACKWARDS
      See Also:
    • FORWARDS

      public static final int FORWARDS
      See Also:
    • CURSOR_INSERT_WIDTH

      private static final int CURSOR_INSERT_WIDTH
      See Also:
    • CURSOR_INSERT_COLOR

      private static final int CURSOR_INSERT_COLOR
      See Also:
    • CURSOR_APPEND_CHARACTER

      private static final String CURSOR_APPEND_CHARACTER
      See Also:
    • DEFAULT_TEXT_COLOR

      public static final int DEFAULT_TEXT_COLOR
      See Also:
    • font

      private final Font font
    • value

      private String value
      Has the current text being edited on the textbox.
    • maxLength

      private int maxLength
    • bordered

      private boolean bordered
    • canLoseFocus

      private boolean canLoseFocus
      if true the textbox can lose focus by clicking elsewhere on the screen
    • isEditable

      private boolean isEditable
      If this value is true along with isFocused, keyTyped will process the keys.
    • displayPos

      private int displayPos
      The current character index that should be used as start of the rendered text.
    • cursorPos

      private int cursorPos
    • highlightPos

      private int highlightPos
      other selection position, maybe the same as the cursor
    • textColor

      private int textColor
    • textColorUneditable

      private int textColorUneditable
    • suggestion

      @Nullable private String suggestion
    • responder

      @Nullable private Consumer<String> responder
    • filter

      private Predicate<String> filter
      Called to check if the text is valid
    • formatter

    • hint

      @Nullable private Component hint
    • focusedTime

      private long focusedTime
    • textShadow

      private boolean textShadow
  • Constructor Details

    • EditBox

      public EditBox(Font pFont, int pWidth, int pHeight, Component pMessage)
    • EditBox

      public EditBox(Font pFont, int pX, int pY, int pWidth, int pHeight, Component pMessage)
    • EditBox

      public EditBox(Font pFont, int pX, int pY, int pWidth, int pHeight, @Nullable EditBox pEditBox, Component pMessage)
  • Method Details

    • setResponder

      public void setResponder(Consumer<String> pResponder)
    • setFormatter

      public void setFormatter(BiFunction<String,Integer,FormattedCharSequence> pTextFormatter)
    • createNarrationMessage

      protected MutableComponent createNarrationMessage()
      Overrides:
      createNarrationMessage in class AbstractWidget
    • setValue

      public void setValue(String pText)
      Sets the text of the textbox, and moves the cursor to the end.
    • getValue

      public String getValue()
    • getHighlighted

      public String getHighlighted()
    • setFilter

      public void setFilter(Predicate<String> pValidator)
    • insertText

      public void insertText(String pTextToWrite)
      Adds the given text after the cursor, or replaces the currently selected text if there is a selection.
    • onValueChange

      private void onValueChange(String pNewText)
    • deleteText

      private void deleteText(int pCount)
    • deleteWords

      public void deleteWords(int pNum)
      Deletes the given number of words from the current cursor's position, unless there is currently a selection, in which case the selection is deleted instead.
    • deleteChars

      public void deleteChars(int pNum)
      Deletes the given number of characters from the current cursor's position, unless there is currently a selection, in which case the selection is deleted instead.
    • deleteCharsToPos

      public void deleteCharsToPos(int pNum)
    • getWordPosition

      public int getWordPosition(int pNumWords)
      Gets the starting index of the word at the specified number of words away from the cursor position.
    • getWordPosition

      private int getWordPosition(int pNumWords, int pPos)
      Gets the starting index of the word at a distance of the specified number of words away from the given position.
    • getWordPosition

      private int getWordPosition(int pNumWords, int pPos, boolean pSkipConsecutiveSpaces)
      Like getNthWordFromPos (which wraps this), but adds option for skipping consecutive spaces
    • moveCursor

      public void moveCursor(int pDelta, boolean pSelect)
    • getCursorPos

      private int getCursorPos(int pDelta)
    • moveCursorTo

      public void moveCursorTo(int pDelta, boolean pSelect)
    • setCursorPosition

      public void setCursorPosition(int pPos)
    • moveCursorToStart

      public void moveCursorToStart(boolean pSelect)
    • moveCursorToEnd

      public void moveCursorToEnd(boolean pSelect)
    • keyPressed

      public boolean keyPressed(int pKeyCode, int pScanCode, int pModifiers)
      Called when a keyboard key is pressed within the GUI element.

      Specified by:
      keyPressed in interface GuiEventListener
      Parameters:
      pKeyCode - the key code of the pressed key.
      pScanCode - the scan code of the pressed key.
      pModifiers - the keyboard modifiers.
      Returns:
      true if the event is consumed, false otherwise.
    • canConsumeInput

      public boolean canConsumeInput()
    • charTyped

      public boolean charTyped(char pCodePoint, int pModifiers)
      Called when a character is typed within the GUI element.

      Specified by:
      charTyped in interface GuiEventListener
      Parameters:
      pCodePoint - the code point of the typed character.
      pModifiers - the keyboard modifiers.
      Returns:
      true if the event is consumed, false otherwise.
    • onClick

      public void onClick(double pMouseX, double pMouseY)
      Overrides:
      onClick in class AbstractWidget
    • playDownSound

      public void playDownSound(SoundManager pHandler)
      Overrides:
      playDownSound in class AbstractWidget
    • renderWidget

      public void renderWidget(GuiGraphics pGuiGraphics, int pMouseX, int pMouseY, float pPartialTick)
      Specified by:
      renderWidget in class AbstractWidget
    • renderHighlight

      private void renderHighlight(GuiGraphics pGuiGraphics, int pMinX, int pMinY, int pMaxX, int pMaxY)
    • setMaxLength

      public void setMaxLength(int pLength)
      Sets the maximum length for the text in this text box. If the current text is longer than this length, the current text will be trimmed.
    • getMaxLength

      private int getMaxLength()
    • getCursorPosition

      public int getCursorPosition()
    • isBordered

      public boolean isBordered()
    • setBordered

      public void setBordered(boolean pEnableBackgroundDrawing)
      Sets whether the background and outline of this text box should be drawn.
    • setTextColor

      public void setTextColor(int pColor)
      Sets the color to use when drawing this text box's text. A different color is used if this text box is disabled.
    • setTextColorUneditable

      public void setTextColorUneditable(int pColor)
      Sets the color to use for text in this text box when this text box is disabled.
    • setFocused

      public void setFocused(boolean pFocused)
      Sets the focus state of the GUI element.
      Specified by:
      setFocused in interface GuiEventListener
      Overrides:
      setFocused in class AbstractWidget
      Parameters:
      pFocused - true to apply focus, false to remove focus
    • isEditable

      private boolean isEditable()
    • setEditable

      public void setEditable(boolean pEnabled)
      Sets whether this text box is enabled. Disabled text boxes cannot be typed in.
    • getInnerWidth

      public int getInnerWidth()
    • setHighlightPos

      public void setHighlightPos(int pPosition)
      Sets the position of the selection anchor (the selection anchor and the cursor position mark the edges of the selection). If the anchor is set beyond the bounds of the current text, it will be put back inside.
    • scrollTo

      private void scrollTo(int pPosition)
    • setCanLoseFocus

      public void setCanLoseFocus(boolean pCanLoseFocus)
      Sets whether this text box loses focus when something other than it is clicked.
    • isVisible

      public boolean isVisible()
    • setVisible

      public void setVisible(boolean pIsVisible)
      Sets whether this textbox is visible.
    • setSuggestion

      public void setSuggestion(@Nullable String pSuggestion)
    • getScreenX

      public int getScreenX(int pCharNum)
    • updateWidgetNarration

      public void updateWidgetNarration(NarrationElementOutput pNarrationElementOutput)
      Specified by:
      updateWidgetNarration in class AbstractWidget
    • setHint

      public void setHint(Component pHint)
    • setTextShadow

      public void setTextShadow(boolean textShadow)
    • getTextShadow

      public boolean getTextShadow()