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, GameModeSelectionScreen.ButtonWidget, PressableWidget, RecipeAlternativesWidget.AlternativeButtonWidget, SliderWidget, TextFieldWidget, ToggleButtonWidget

@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 eac
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 i Leac;i:Lyt;
      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 j Leac;j: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 k Leac;k:I
      intermediary field_22759 Lnet/minecraft/class_339;field_22759:I
      named height Lnet/minecraft/client/gui/widget/ClickableWidget;height:I
    • x

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

      public int y
      Mappings:
      Namespace Name Mixin selector
      official m Leac;m: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 a Leac;a:Lqk;
      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 n Leac;n: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 o Leac;o: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 p Leac;p: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 q Leac;q: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 b Leac;b:Z
      intermediary field_22756 Lnet/minecraft/class_339;field_22756:Z
      named focused Lnet/minecraft/client/gui/widget/ClickableWidget;focused:Z
  • Constructor Details

    • ClickableWidget

      public ClickableWidget(int x, int y, int width, int height, Text message)
      Mappings:
      Namespace Name Mixin selector
      official <init> Leac;<init>(IIIILqk;)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 d Leac;d()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 Leac;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 Leba;a(Ldtm;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
    • getNarrationMessage

      protected MutableText getNarrationMessage()
      Mappings:
      Namespace Name Mixin selector
      official al_ Leac;al_()Lqq;
      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 Leac;a(Lqk;)Lqq;
      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 Leac;b(Ldtm;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 Leac;a(Ldtm;Ldyr;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 Leac;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 Leac;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 Leac;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 Lebd;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 c Lebd;c(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 d_ Leac;d_(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 Lebd;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 c Leac;c(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 e Leac;e()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 Lebd;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 Leac;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 a_ Lebd;a_(DD)Z
      intermediary method_25405 Lnet/minecraft/class_364;method_25405(DD)Z
      named isMouseOver Lnet/minecraft/client/gui/Element;isMouseOver(DD)Z
    • renderTooltip

      public void renderTooltip(MatrixStack matrices, int mouseX, int mouseY)
      Mappings:
      Namespace Name Mixin selector
      official a Leac;a(Ldtm;II)V
      intermediary method_25352 Lnet/minecraft/class_339;method_25352(Lnet/minecraft/class_4587;II)V
      named renderTooltip Lnet/minecraft/client/gui/widget/ClickableWidget;renderTooltip(Lnet/minecraft/client/util/math/MatrixStack;II)V
    • playDownSound

      public void playDownSound(SoundManager soundManager)
      Mappings:
      Namespace Name Mixin selector
      official a Leac;a(Lfep;)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 f Leac;f()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 b Leac;b(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 Leac;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 Leac;b(Lqk;)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 g Leac;g()Lqk;
      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 h Leac;h()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 am_ Lecg;am_()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 Leac;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 s Lecg;s()Lecg$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;
    • appendDefaultNarrations

      protected void appendDefaultNarrations(NarrationMessageBuilder builder)
      Mappings:
      Namespace Name Mixin selector
      official b Leac;b(Leci;)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