Class ClickableWidget

java.lang.Object
net.minecraft.client.gui.DrawableHelper
net.minecraft.client.gui.widget.ClickableWidget
All Implemented Interfaces:
Drawable, Element, Narratable, Selectable
Direct Known Subclasses:
AnimatedResultButton, EmptyWidget, GameModeSelectionScreen.ButtonWidget, MultilineTextWidget, PressableWidget, RecipeAlternativesWidget.AlternativeButtonWidget, ScrollableWidget, SliderWidget, TextFieldWidget, TextWidget, ToggleButtonWidget, WrapperWidget

@Environment(CLIENT) public abstract class ClickableWidget extends DrawableHelper implements Drawable, Element, Selectable
A clickable widget is a GUI element that has many methods to handle different mouse actions. In addition, it allows a message to be rendered on the widget and narrated when the widget is selected.
Mappings:
Namespace Name
official ekw
intermediary net/minecraft/class_339
named net/minecraft/client/gui/widget/ClickableWidget
  • Field Details

    • WIDGETS_TEXTURE

      public static final Identifier WIDGETS_TEXTURE
      Mappings:
      Namespace Name Mixin selector
      official j Lekw;j:Lacf;
      intermediary field_22757 Lnet/minecraft/class_339;field_22757:Lnet/minecraft/class_2960;
      named WIDGETS_TEXTURE Lnet/minecraft/client/gui/widget/ClickableWidget;WIDGETS_TEXTURE:Lnet/minecraft/util/Identifier;
    • width

      protected int width
      Mappings:
      Namespace Name Mixin selector
      official k Lekw;k:I
      intermediary field_22758 Lnet/minecraft/class_339;field_22758:I
      named width Lnet/minecraft/client/gui/widget/ClickableWidget;width:I
    • height

      protected int height
      Mappings:
      Namespace Name Mixin selector
      official l Lekw;l:I
      intermediary field_22759 Lnet/minecraft/class_339;field_22759:I
      named height Lnet/minecraft/client/gui/widget/ClickableWidget;height:I
    • x

      private int x
      Mappings:
      Namespace Name Mixin selector
      official a Lekw;a:I
      intermediary field_22760 Lnet/minecraft/class_339;field_22760:I
      named x Lnet/minecraft/client/gui/widget/ClickableWidget;x:I
    • y

      private int y
      Mappings:
      Namespace Name Mixin selector
      official b Lekw;b:I
      intermediary field_22761 Lnet/minecraft/class_339;field_22761:I
      named y Lnet/minecraft/client/gui/widget/ClickableWidget;y:I
    • message

      private Text message
      Mappings:
      Namespace Name Mixin selector
      official c Lekw;c:Lss;
      intermediary field_22754 Lnet/minecraft/class_339;field_22754:Lnet/minecraft/class_2561;
      named message Lnet/minecraft/client/gui/widget/ClickableWidget;message:Lnet/minecraft/text/Text;
    • hovered

      protected boolean hovered
      Mappings:
      Namespace Name Mixin selector
      official m Lekw;m:Z
      intermediary field_22762 Lnet/minecraft/class_339;field_22762:Z
      named hovered Lnet/minecraft/client/gui/widget/ClickableWidget;hovered:Z
    • active

      public boolean active
      Mappings:
      Namespace Name Mixin selector
      official n Lekw;n:Z
      intermediary field_22763 Lnet/minecraft/class_339;field_22763:Z
      named active Lnet/minecraft/client/gui/widget/ClickableWidget;active:Z
    • visible

      public boolean visible
      Mappings:
      Namespace Name Mixin selector
      official o Lekw;o:Z
      intermediary field_22764 Lnet/minecraft/class_339;field_22764:Z
      named visible Lnet/minecraft/client/gui/widget/ClickableWidget;visible:Z
    • alpha

      protected float alpha
      Mappings:
      Namespace Name Mixin selector
      official p Lekw;p:F
      intermediary field_22765 Lnet/minecraft/class_339;field_22765:F
      named alpha Lnet/minecraft/client/gui/widget/ClickableWidget;alpha:F
    • focused

      private boolean focused
      Mappings:
      Namespace Name Mixin selector
      official d Lekw;d:Z
      intermediary field_22756 Lnet/minecraft/class_339;field_22756:Z
      named focused Lnet/minecraft/client/gui/widget/ClickableWidget;focused:Z
    • tooltip

      @Nullable private @Nullable Tooltip tooltip
      Mappings:
      Namespace Name Mixin selector
      official e Lekw;e:Lemc;
      intermediary field_41095 Lnet/minecraft/class_339;field_41095:Lnet/minecraft/class_7919;
      named tooltip Lnet/minecraft/client/gui/widget/ClickableWidget;tooltip:Lnet/minecraft/client/gui/tooltip/Tooltip;
    • tooltipDelay

      private int tooltipDelay
      Mappings:
      Namespace Name Mixin selector
      official f Lekw;f:I
      intermediary field_41096 Lnet/minecraft/class_339;field_41096:I
      named tooltipDelay Lnet/minecraft/client/gui/widget/ClickableWidget;tooltipDelay:I
    • lastHoveredTime

      private long lastHoveredTime
      Mappings:
      Namespace Name Mixin selector
      official q Lekw;q:J
      intermediary field_41097 Lnet/minecraft/class_339;field_41097:J
      named lastHoveredTime Lnet/minecraft/client/gui/widget/ClickableWidget;lastHoveredTime:J
    • wasHovered

      private boolean wasHovered
      Mappings:
      Namespace Name Mixin selector
      official r Lekw;r:Z
      intermediary field_41098 Lnet/minecraft/class_339;field_41098:Z
      named wasHovered Lnet/minecraft/client/gui/widget/ClickableWidget;wasHovered:Z
  • Constructor Details

    • ClickableWidget

      public ClickableWidget(int x, int y, int width, int height, Text message)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lekw;<init>(IIIILss;)V
      intermediary <init> Lnet/minecraft/class_339;<init>(IIIILnet/minecraft/class_2561;)V
      named <init> Lnet/minecraft/client/gui/widget/ClickableWidget;<init>(IIIILnet/minecraft/text/Text;)V
  • Method Details

    • getHeight

      public int getHeight()
      Mappings:
      Namespace Name Mixin selector
      official i Lekw;i()I
      intermediary method_25364 Lnet/minecraft/class_339;method_25364()I
      named getHeight Lnet/minecraft/client/gui/widget/ClickableWidget;getHeight()I
    • getYImage

      protected int getYImage(boolean hovered)
      Mappings:
      Namespace Name Mixin selector
      official a Lekw;a(Z)I
      intermediary method_25356 Lnet/minecraft/class_339;method_25356(Z)I
      named getYImage Lnet/minecraft/client/gui/widget/ClickableWidget;getYImage(Z)I
    • render

      public void render(MatrixStack matrices, int mouseX, int mouseY, float delta)
      Specified by:
      render in interface Drawable
      Mappings:
      Namespace Name Mixin selector
      official a Lely;a(Leed;IIF)V
      intermediary method_25394 Lnet/minecraft/class_4068;method_25394(Lnet/minecraft/class_4587;IIF)V
      named render Lnet/minecraft/client/gui/Drawable;render(Lnet/minecraft/client/util/math/MatrixStack;IIF)V
    • applyTooltip

      private void applyTooltip()
      Mappings:
      Namespace Name Mixin selector
      official b Lekw;b()V
      intermediary method_47401 Lnet/minecraft/class_339;method_47401()V
      named applyTooltip Lnet/minecraft/client/gui/widget/ClickableWidget;applyTooltip()V
    • getTooltipPositioner

      protected TooltipPositioner getTooltipPositioner()
      Mappings:
      Namespace Name Mixin selector
      official j Lekw;j()Lerr;
      intermediary method_47937 Lnet/minecraft/class_339;method_47937()Lnet/minecraft/class_8000;
      named getTooltipPositioner Lnet/minecraft/client/gui/widget/ClickableWidget;getTooltipPositioner()Lnet/minecraft/client/gui/tooltip/TooltipPositioner;
    • setTooltip

      public void setTooltip(@Nullable @Nullable Tooltip tooltip)
      Mappings:
      Namespace Name Mixin selector
      official a Lekw;a(Lemc;)V
      intermediary method_47400 Lnet/minecraft/class_339;method_47400(Lnet/minecraft/class_7919;)V
      named setTooltip Lnet/minecraft/client/gui/widget/ClickableWidget;setTooltip(Lnet/minecraft/client/gui/tooltip/Tooltip;)V
    • setTooltipDelay

      public void setTooltipDelay(int delay)
      Mappings:
      Namespace Name Mixin selector
      official c Lekw;c(I)V
      intermediary method_47402 Lnet/minecraft/class_339;method_47402(I)V
      named setTooltipDelay Lnet/minecraft/client/gui/widget/ClickableWidget;setTooltipDelay(I)V
    • getNarrationMessage

      protected MutableText getNarrationMessage()
      Mappings:
      Namespace Name Mixin selector
      official an_ Lekw;an_()Ltf;
      intermediary method_25360 Lnet/minecraft/class_339;method_25360()Lnet/minecraft/class_5250;
      named getNarrationMessage Lnet/minecraft/client/gui/widget/ClickableWidget;getNarrationMessage()Lnet/minecraft/text/MutableText;
    • getNarrationMessage

      public static MutableText getNarrationMessage(Text message)
      Mappings:
      Namespace Name Mixin selector
      official a Lekw;a(Lss;)Ltf;
      intermediary method_32602 Lnet/minecraft/class_339;method_32602(Lnet/minecraft/class_2561;)Lnet/minecraft/class_5250;
      named getNarrationMessage Lnet/minecraft/client/gui/widget/ClickableWidget;getNarrationMessage(Lnet/minecraft/text/Text;)Lnet/minecraft/text/MutableText;
    • renderButton

      public void renderButton(MatrixStack matrices, int mouseX, int mouseY, float delta)
      Mappings:
      Namespace Name Mixin selector
      official b Lekw;b(Leed;IIF)V
      intermediary method_25359 Lnet/minecraft/class_339;method_25359(Lnet/minecraft/class_4587;IIF)V
      named renderButton Lnet/minecraft/client/gui/widget/ClickableWidget;renderButton(Lnet/minecraft/client/util/math/MatrixStack;IIF)V
    • renderBackground

      protected void renderBackground(MatrixStack matrices, MinecraftClient client, int mouseX, int mouseY)
      Mappings:
      Namespace Name Mixin selector
      official a Lekw;a(Leed;Lejf;II)V
      intermediary method_25353 Lnet/minecraft/class_339;method_25353(Lnet/minecraft/class_4587;Lnet/minecraft/class_310;II)V
      named renderBackground Lnet/minecraft/client/gui/widget/ClickableWidget;renderBackground(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/MinecraftClient;II)V
    • onClick

      public void onClick(double mouseX, double mouseY)
      Mappings:
      Namespace Name Mixin selector
      official a Lekw;a(DD)V
      intermediary method_25348 Lnet/minecraft/class_339;method_25348(DD)V
      named onClick Lnet/minecraft/client/gui/widget/ClickableWidget;onClick(DD)V
    • onRelease

      public void onRelease(double mouseX, double mouseY)
      Mappings:
      Namespace Name Mixin selector
      official b Lekw;b(DD)V
      intermediary method_25357 Lnet/minecraft/class_339;method_25357(DD)V
      named onRelease Lnet/minecraft/client/gui/widget/ClickableWidget;onRelease(DD)V
    • onDrag

      protected void onDrag(double mouseX, double mouseY, double deltaX, double deltaY)
      Mappings:
      Namespace Name Mixin selector
      official a Lekw;a(DDDD)V
      intermediary method_25349 Lnet/minecraft/class_339;method_25349(DDDD)V
      named onDrag Lnet/minecraft/client/gui/widget/ClickableWidget;onDrag(DDDD)V
    • mouseClicked

      public boolean mouseClicked(double mouseX, double mouseY, int button)
      Callback for when a mouse button down event has been captured. The button number is identified by the constants in GLFW class.
      Specified by:
      mouseClicked in interface Element
      Parameters:
      mouseX - the X coordinate of the mouse
      mouseY - the Y coordinate of the mouse
      button - the mouse button number
      Returns:
      true to indicate that the event handling is successful/valid
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lemg;a(DDI)Z
      intermediary method_25402 Lnet/minecraft/class_364;method_25402(DDI)Z
      named mouseClicked Lnet/minecraft/client/gui/Element;mouseClicked(DDI)Z
    • mouseReleased

      public boolean mouseReleased(double mouseX, double mouseY, int button)
      Callback for when a mouse button release event has been captured. The button number is identified by the constants in GLFW class.
      Specified by:
      mouseReleased in interface Element
      Parameters:
      mouseX - the X coordinate of the mouse
      mouseY - the Y coordinate of the mouse
      button - the mouse button number
      Returns:
      true to indicate that the event handling is successful/valid
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lemg;b(DDI)Z
      intermediary method_25406 Lnet/minecraft/class_364;method_25406(DDI)Z
      named mouseReleased Lnet/minecraft/client/gui/Element;mouseReleased(DDI)Z
    • isValidClickButton

      protected boolean isValidClickButton(int button)
      Mappings:
      Namespace Name Mixin selector
      official e Lekw;e(I)Z
      intermediary method_25351 Lnet/minecraft/class_339;method_25351(I)Z
      named isValidClickButton Lnet/minecraft/client/gui/widget/ClickableWidget;isValidClickButton(I)Z
    • mouseDragged

      public boolean mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY)
      Callback for when a mouse button drag event has been captured. The button number is identified by the constants in GLFW class.
      Specified by:
      mouseDragged in interface Element
      Parameters:
      mouseX - the current X coordinate of the mouse
      mouseY - the current Y coordinate of the mouse
      button - the mouse button number
      deltaX - the difference of the current X with the previous X coordinate
      deltaY - the difference of the current Y with the previous Y coordinate
      Returns:
      true to indicate that the event handling is successful/valid
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lemg;a(DDIDD)Z
      intermediary method_25403 Lnet/minecraft/class_364;method_25403(DDIDD)Z
      named mouseDragged Lnet/minecraft/client/gui/Element;mouseDragged(DDIDD)Z
    • clicked

      protected boolean clicked(double mouseX, double mouseY)
      Mappings:
      Namespace Name Mixin selector
      official f Lekw;f(DD)Z
      intermediary method_25361 Lnet/minecraft/class_339;method_25361(DD)Z
      named clicked Lnet/minecraft/client/gui/widget/ClickableWidget;clicked(DD)Z
    • isHovered

      public boolean isHovered()
      Mappings:
      Namespace Name Mixin selector
      official k Lekw;k()Z
      intermediary method_25367 Lnet/minecraft/class_339;method_25367()Z
      named isHovered Lnet/minecraft/client/gui/widget/ClickableWidget;isHovered()Z
    • changeFocus

      public boolean changeFocus(boolean lookForwards)
      Changes the focusing element by cycling to the next/previous element. This action is done typically when the user has pressed the 'Tab' or 'Ctrl+Tab' key.
      Specified by:
      changeFocus in interface Element
      Parameters:
      lookForwards - true to cycle forwards, otherwise cycle backwards
      Returns:
      true to indicate that the event handling is successful/valid
      Mappings:
      Namespace Name Mixin selector
      official b Lemg;b(Z)Z
      intermediary method_25407 Lnet/minecraft/class_364;method_25407(Z)Z
      named changeFocus Lnet/minecraft/client/gui/Element;changeFocus(Z)Z
    • onFocusedChanged

      protected void onFocusedChanged(boolean newFocused)
      Mappings:
      Namespace Name Mixin selector
      official c Lekw;c(Z)V
      intermediary method_25363 Lnet/minecraft/class_339;method_25363(Z)V
      named onFocusedChanged Lnet/minecraft/client/gui/widget/ClickableWidget;onFocusedChanged(Z)V
    • isMouseOver

      public boolean isMouseOver(double mouseX, double mouseY)
      Checks if the mouse position is within the bound of the element.
      Specified by:
      isMouseOver in interface Element
      Parameters:
      mouseX - the X coordinate of the mouse
      mouseY - the Y coordinate of the mouse
      Returns:
      true if the mouse is within the bound of the element, otherwise false
      Mappings:
      Namespace Name Mixin selector
      official c Lemg;c(DD)Z
      intermediary method_25405 Lnet/minecraft/class_364;method_25405(DD)Z
      named isMouseOver Lnet/minecraft/client/gui/Element;isMouseOver(DD)Z
    • playDownSound

      public void playDownSound(SoundManager soundManager)
      Mappings:
      Namespace Name Mixin selector
      official a Lekw;a(Lfsr;)V
      intermediary method_25354 Lnet/minecraft/class_339;method_25354(Lnet/minecraft/class_1144;)V
      named playDownSound Lnet/minecraft/client/gui/widget/ClickableWidget;playDownSound(Lnet/minecraft/client/sound/SoundManager;)V
    • getWidth

      public int getWidth()
      Mappings:
      Namespace Name Mixin selector
      official n Lekw;n()I
      intermediary method_25368 Lnet/minecraft/class_339;method_25368()I
      named getWidth Lnet/minecraft/client/gui/widget/ClickableWidget;getWidth()I
    • setWidth

      public void setWidth(int width)
      Mappings:
      Namespace Name Mixin selector
      official f Lekw;f(I)V
      intermediary method_25358 Lnet/minecraft/class_339;method_25358(I)V
      named setWidth Lnet/minecraft/client/gui/widget/ClickableWidget;setWidth(I)V
    • setAlpha

      public void setAlpha(float alpha)
      Mappings:
      Namespace Name Mixin selector
      official a Lekw;a(F)V
      intermediary method_25350 Lnet/minecraft/class_339;method_25350(F)V
      named setAlpha Lnet/minecraft/client/gui/widget/ClickableWidget;setAlpha(F)V
    • setMessage

      public void setMessage(Text message)
      Mappings:
      Namespace Name Mixin selector
      official b Lekw;b(Lss;)V
      intermediary method_25355 Lnet/minecraft/class_339;method_25355(Lnet/minecraft/class_2561;)V
      named setMessage Lnet/minecraft/client/gui/widget/ClickableWidget;setMessage(Lnet/minecraft/text/Text;)V
    • getMessage

      public Text getMessage()
      Mappings:
      Namespace Name Mixin selector
      official o Lekw;o()Lss;
      intermediary method_25369 Lnet/minecraft/class_339;method_25369()Lnet/minecraft/class_2561;
      named getMessage Lnet/minecraft/client/gui/widget/ClickableWidget;getMessage()Lnet/minecraft/text/Text;
    • isFocused

      public boolean isFocused()
      Mappings:
      Namespace Name Mixin selector
      official p Lekw;p()Z
      intermediary method_25370 Lnet/minecraft/class_339;method_25370()Z
      named isFocused Lnet/minecraft/client/gui/widget/ClickableWidget;isFocused()Z
    • isNarratable

      public boolean isNarratable()
      Specified by:
      isNarratable in interface Selectable
      Mappings:
      Namespace Name Mixin selector
      official ao_ Leni;ao_()Z
      intermediary method_37303 Lnet/minecraft/class_6379;method_37303()Z
      named isNarratable Lnet/minecraft/client/gui/Selectable;isNarratable()Z
    • setFocused

      protected void setFocused(boolean focused)
      Mappings:
      Namespace Name Mixin selector
      official d Lekw;d(Z)V
      intermediary method_25365 Lnet/minecraft/class_339;method_25365(Z)V
      named setFocused Lnet/minecraft/client/gui/widget/ClickableWidget;setFocused(Z)V
    • getType

      public Selectable.SelectionType getType()
      Specified by:
      getType in interface Selectable
      Mappings:
      Namespace Name Mixin selector
      official ap_ Leni;ap_()Leni$a;
      intermediary method_37018 Lnet/minecraft/class_6379;method_37018()Lnet/minecraft/class_6379$class_6380;
      named getType Lnet/minecraft/client/gui/Selectable;getType()Lnet/minecraft/client/gui/Selectable$SelectionType;
    • appendNarrations

      public final void appendNarrations(NarrationMessageBuilder builder)
      Specified by:
      appendNarrations in interface Narratable
      Mappings:
      Namespace Name Mixin selector
      official b Lenl;b(Lenk;)V
      intermediary method_37020 Lnet/minecraft/class_6383;method_37020(Lnet/minecraft/class_6382;)V
      named appendNarrations Lnet/minecraft/client/gui/Narratable;appendNarrations(Lnet/minecraft/client/gui/screen/narration/NarrationMessageBuilder;)V
    • appendClickableNarrations

      protected abstract void appendClickableNarrations(NarrationMessageBuilder builder)
      Mappings:
      Namespace Name Mixin selector
      official a Lekw;a(Lenk;)V
      intermediary method_47399 Lnet/minecraft/class_339;method_47399(Lnet/minecraft/class_6382;)V
      named appendClickableNarrations Lnet/minecraft/client/gui/widget/ClickableWidget;appendClickableNarrations(Lnet/minecraft/client/gui/screen/narration/NarrationMessageBuilder;)V
    • appendDefaultNarrations

      protected void appendDefaultNarrations(NarrationMessageBuilder builder)
      Mappings:
      Namespace Name Mixin selector
      official c Lekw;c(Lenk;)V
      intermediary method_37021 Lnet/minecraft/class_339;method_37021(Lnet/minecraft/class_6382;)V
      named appendDefaultNarrations Lnet/minecraft/client/gui/widget/ClickableWidget;appendDefaultNarrations(Lnet/minecraft/client/gui/screen/narration/NarrationMessageBuilder;)V
    • getX

      public int getX()
      Mappings:
      Namespace Name Mixin selector
      official r Lekw;r()I
      intermediary method_46426 Lnet/minecraft/class_339;method_46426()I
      named getX Lnet/minecraft/client/gui/widget/ClickableWidget;getX()I
    • setX

      public void setX(int x)
      Mappings:
      Namespace Name Mixin selector
      official h_ Lekw;h_(I)V
      intermediary method_46421 Lnet/minecraft/class_339;method_46421(I)V
      named setX Lnet/minecraft/client/gui/widget/ClickableWidget;setX(I)V
    • setPos

      public void setPos(int x, int y)
      Mappings:
      Namespace Name Mixin selector
      official b Lekw;b(II)V
      intermediary method_1893 Lnet/minecraft/class_339;method_1893(II)V
      named setPos Lnet/minecraft/client/gui/widget/ClickableWidget;setPos(II)V
    • getY

      public int getY()
      Mappings:
      Namespace Name Mixin selector
      official s Lekw;s()I
      intermediary method_46427 Lnet/minecraft/class_339;method_46427()I
      named getY Lnet/minecraft/client/gui/widget/ClickableWidget;getY()I
    • setY

      public void setY(int y)
      Mappings:
      Namespace Name Mixin selector
      official b Lekw;b(I)V
      intermediary method_46419 Lnet/minecraft/class_339;method_46419(I)V
      named setY Lnet/minecraft/client/gui/widget/ClickableWidget;setY(I)V