Class AbstractWidget
java.lang.Object
net.minecraft.client.gui.components.AbstractWidget
- All Implemented Interfaces:
GuiEventListener
,Renderable
,TabOrderedElement
,LayoutElement
,NarratableEntry
,NarrationSupplier
,IAbstractWidgetExtension
- Direct Known Subclasses:
AbstractButton
,AbstractContainerWidget
,AbstractScrollWidget
,AbstractSliderButton
,AbstractStringWidget
,EditBox
,GameModeSwitcherScreen.GameModeSlot
,ImageWidget
,LoadingDotsWidget
,OverlayRecipeComponent.OverlayRecipeButton
,PlayerSkinWidget
,RecipeButton
,StateSwitchingButton
,TabButton
public abstract class AbstractWidget
extends Object
implements Renderable, GuiEventListener, LayoutElement, NarratableEntry, IAbstractWidgetExtension
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.minecraft.client.gui.narration.NarratableEntry
NarratableEntry.NarrationPriority
-
Field Summary
FieldsModifier and TypeFieldDescriptionboolean
protected float
private boolean
protected int
protected boolean
private Component
private static final double
protected int
private static final double
private int
private final WidgetTooltipHolder
static final int
boolean
protected int
private int
private int
Fields inherited from interface net.minecraft.client.gui.components.events.GuiEventListener
DOUBLE_CLICK_THRESHOLD_MS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
protected boolean
clicked
(double mouseX, double mouseY) protected MutableComponent
protected void
defaultButtonNarrationText
(NarrationElementOutput narrationElementOutput) int
int
int
int
getRight()
int
int
getWidth()
int
getX()
int
getY()
boolean
isActive()
boolean
boolean
boolean
boolean
isMouseOver
(double mouseX, double mouseY) Checks if the given mouse coordinates are over the GUI element.protected boolean
isValidClickButton
(int button) boolean
mouseClicked
(double mouseX, double mouseY, int button) Called when a mouse button is clicked within the GUI element.boolean
mouseDragged
(double mouseX, double mouseY, int button, double dragX, double dragY) Called when the mouse is dragged within the GUI element.boolean
mouseReleased
(double mouseX, double mouseY, int button) Called when a mouse button is released within the GUI element.Retrieves the next focus path based on the given focus navigation event.void
onClick
(double mouseX, double mouseY) Deprecated.protected void
onDrag
(double mouseX, double mouseY, double dragX, double dragY) void
onRelease
(double mouseX, double mouseY) void
playDownSound
(SoundManager handler) final void
render
(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) Renders the graphical user interface (GUI) element.protected void
renderScrollingString
(GuiGraphics guiGraphics, Font font, int width, int color) static void
renderScrollingString
(GuiGraphics guiGraphics, Font font, Component text, int minX, int minY, int maxX, int maxY, int color) static void
renderScrollingString
(GuiGraphics guiGraphics, Font font, Component text, int centerX, int minX, int minY, int maxX, int maxY, int color) protected abstract void
renderWidget
(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) void
setAlpha
(float alpha) void
setFGColor
(int color) void
setFocused
(boolean focused) Sets the focus state of the GUI element.void
setHeight
(int height) void
setMessage
(Component message) void
setRectangle
(int width, int height, int x, int y) void
setSize
(int width, int height) void
setTabOrderGroup
(int tabOrderGroup) void
setTooltip
(Tooltip tooltip) void
setTooltipDelay
(Duration tooltipDelay) void
setWidth
(int width) void
setX
(int x) void
setY
(int y) final void
updateNarration
(NarrationElementOutput narrationElementOutput) Updates the narration output with the current narration information.protected abstract void
updateWidgetNarration
(NarrationElementOutput narrationElementOutput) void
visitWidgets
(Consumer<AbstractWidget> consumer) static MutableComponent
wrapDefaultNarrationMessage
(Component message) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.client.gui.components.events.GuiEventListener
charTyped, getCurrentFocusPath, keyPressed, keyReleased, mouseMoved, mouseScrolled
Methods inherited from interface net.neoforged.neoforge.client.extensions.IAbstractWidgetExtension
onClick
Methods inherited from interface net.minecraft.client.gui.layouts.LayoutElement
setPosition
-
Field Details
-
PERIOD_PER_SCROLLED_PIXEL
private static final double PERIOD_PER_SCROLLED_PIXEL- See Also:
-
MIN_SCROLL_PERIOD
private static final double MIN_SCROLL_PERIOD- See Also:
-
width
protected int width -
height
protected int height -
x
private int x -
y
private int y -
message
-
isHovered
protected boolean isHovered -
active
public boolean active -
visible
public boolean visible -
alpha
protected float alpha -
tabOrderGroup
private int tabOrderGroup -
focused
private boolean focused -
tooltip
-
UNSET_FG_COLOR
public static final int UNSET_FG_COLOR- See Also:
-
packedFGColor
protected int packedFGColor
-
-
Constructor Details
-
AbstractWidget
-
-
Method Details
-
getHeight
public int getHeight()- Specified by:
getHeight
in interfaceLayoutElement
-
render
Renders the graphical user interface (GUI) element.- Specified by:
render
in interfaceRenderable
- Parameters:
guiGraphics
- the GuiGraphics object used for rendering.mouseX
- the x-coordinate of the mouse cursor.mouseY
- the y-coordinate of the mouse cursor.partialTick
- the partial tick time.
-
setTooltip
-
getTooltip
-
setTooltipDelay
-
createNarrationMessage
-
wrapDefaultNarrationMessage
-
renderWidget
protected abstract void renderWidget(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) -
renderScrollingString
public static void renderScrollingString(GuiGraphics guiGraphics, Font font, Component text, int minX, int minY, int maxX, int maxY, int color) -
renderScrollingString
public static void renderScrollingString(GuiGraphics guiGraphics, Font font, Component text, int centerX, int minX, int minY, int maxX, int maxY, int color) -
renderScrollingString
-
onClick
Deprecated.Neo: UseIAbstractWidgetExtension.onClick(double, double, int)
instead. -
onRelease
public void onRelease(double mouseX, double mouseY) -
onDrag
protected void onDrag(double mouseX, double mouseY, double dragX, double dragY) -
mouseClicked
public boolean mouseClicked(double mouseX, double mouseY, int button) Called when a mouse button is clicked within the GUI element.- Specified by:
mouseClicked
in interfaceGuiEventListener
- Parameters:
mouseX
- the X coordinate of the mouse.mouseY
- the Y coordinate of the mouse.button
- the button that was clicked.- Returns:
true
if the event is consumed,false
otherwise.
-
mouseReleased
public boolean mouseReleased(double mouseX, double mouseY, int button) Called when a mouse button is released within the GUI element.- Specified by:
mouseReleased
in interfaceGuiEventListener
- Parameters:
mouseX
- the X coordinate of the mouse.mouseY
- the Y coordinate of the mouse.button
- the button that was released.- Returns:
true
if the event is consumed,false
otherwise.
-
isValidClickButton
protected boolean isValidClickButton(int button) -
mouseDragged
public boolean mouseDragged(double mouseX, double mouseY, int button, double dragX, double dragY) Called when the mouse is dragged within the GUI element.- Specified by:
mouseDragged
in interfaceGuiEventListener
- Parameters:
mouseX
- the X coordinate of the mouse.mouseY
- the Y coordinate of the mouse.button
- the button that is being dragged.dragX
- the X distance of the drag.dragY
- the Y distance of the drag.- Returns:
true
if the event is consumed,false
otherwise.
-
clicked
protected boolean clicked(double mouseX, double mouseY) -
isMouseOver
public boolean isMouseOver(double mouseX, double mouseY) Checks if the given mouse coordinates are over the GUI element.- Specified by:
isMouseOver
in interfaceGuiEventListener
- Parameters:
mouseX
- the X coordinate of the mouse.mouseY
- the Y coordinate of the mouse.- Returns:
true
if the mouse is over the GUI element,false
otherwise.
-
playDownSound
-
getWidth
public int getWidth()- Specified by:
getWidth
in interfaceLayoutElement
-
setWidth
public void setWidth(int width) -
setHeight
public void setHeight(int height) -
setAlpha
public void setAlpha(float alpha) -
setMessage
-
getMessage
-
isFocused
public boolean isFocused()- Specified by:
isFocused
in interfaceGuiEventListener
-
isHovered
public boolean isHovered() -
isHoveredOrFocused
public boolean isHoveredOrFocused() -
isActive
public boolean isActive()- Specified by:
isActive
in interfaceNarratableEntry
-
setFocused
public void setFocused(boolean focused) Sets the focus state of the GUI element.- Specified by:
setFocused
in interfaceGuiEventListener
- Parameters:
focused
-true
to apply focus,false
to remove focus
-
getFGColor
public int getFGColor() -
setFGColor
public void setFGColor(int color) -
clearFGColor
public void clearFGColor() -
narrationPriority
- Specified by:
narrationPriority
in interfaceNarratableEntry
-
updateNarration
Updates the narration output with the current narration information.- Specified by:
updateNarration
in interfaceNarrationSupplier
- Parameters:
narrationElementOutput
- the output to update with narration information.
-
updateWidgetNarration
-
defaultButtonNarrationText
-
getX
public int getX()- Specified by:
getX
in interfaceLayoutElement
-
setX
public void setX(int x) - Specified by:
setX
in interfaceLayoutElement
-
getY
public int getY()- Specified by:
getY
in interfaceLayoutElement
-
setY
public void setY(int y) - Specified by:
setY
in interfaceLayoutElement
-
getRight
public int getRight() -
getBottom
public int getBottom() -
visitWidgets
- Specified by:
visitWidgets
in interfaceLayoutElement
-
setSize
public void setSize(int width, int height) -
getRectangle
- Specified by:
getRectangle
in interfaceGuiEventListener
- Specified by:
getRectangle
in interfaceLayoutElement
-
setRectangle
public void setRectangle(int width, int height, int x, int y) -
getTabOrderGroup
public int getTabOrderGroup()- Specified by:
getTabOrderGroup
in interfaceTabOrderedElement
-
setTabOrderGroup
public void setTabOrderGroup(int tabOrderGroup)
-
IAbstractWidgetExtension.onClick(double, double, int)
instead.