java.lang.Object
net.minecraft.client.gui.components.AbstractWidget
com.portingdeadmods.researchd.client.screens.lib.widgets.ContainerWidget<E>
All Implemented Interfaces:
net.minecraft.client.gui.components.events.GuiEventListener, net.minecraft.client.gui.components.Renderable, net.minecraft.client.gui.components.TabOrderedElement, net.minecraft.client.gui.layouts.LayoutElement, net.minecraft.client.gui.narration.NarratableEntry, net.minecraft.client.gui.narration.NarrationSupplier, net.neoforged.neoforge.client.extensions.IAbstractWidgetExtension
Direct Known Subclasses:
EditableIdListWidget, ItemSelectorPopupWidget.SelectorContainerWidget, PlayerManagementList, RecentResearchesList, ResearchMethodParentSelectionPopupWidget.ResearchMethodTypeContainerWidget, ResearchSelectorListWidget, TeamMembersList

public abstract class ContainerWidget<E> extends net.minecraft.client.gui.components.AbstractWidget
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
     

    Nested classes/interfaces inherited from interface net.minecraft.client.gui.narration.NarratableEntry

    net.minecraft.client.gui.narration.NarratableEntry.NarrationPriority
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected E
     
    protected int
     
    protected int
     
    static final net.minecraft.resources.ResourceLocation
     
    static final net.minecraft.resources.ResourceLocation
     
    protected int
     

    Fields inherited from class net.minecraft.client.gui.components.AbstractWidget

    active, alpha, height, isHovered, packedFGColor, UNSET_FG_COLOR, visible, width

    Fields inherited from interface net.minecraft.client.gui.components.events.GuiEventListener

    DOUBLE_CLICK_THRESHOLD_MS
  • Constructor Summary

    Constructors
    Constructor
    Description
    ContainerWidget(int x, int y, int width, int height, int itemWidth, int itemHeight, ContainerWidget.Orientation orientation, int cols, int rows, Collection<E> items, boolean renderScroller)
     
    ContainerWidget(int width, int height, int itemWidth, int itemHeight, ContainerWidget.Orientation orientation, int cols, int rows, Collection<E> items, boolean renderScroller)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    clickedItem(E item, int index, int left, int top, int mouseX, int mouseY)
     
    abstract void
    clickedItem(E item, int xIndex, int yIndex, int left, int top, int mouseX, int mouseY)
     
    int
     
    int
     
    int
     
     
    int
     
    protected int
     
    protected int
     
    protected int
     
    protected int
    getScrollerX(float scrollPercentage)
     
    protected int
     
    protected abstract void
    internalRenderItem(net.minecraft.client.gui.GuiGraphics guiGraphics, E item, int xIndex, int yIndex, int left, int top, int mouseX, int mouseY)
     
    boolean
    isItemHovered(int index, int mouseX, int mouseY)
     
    boolean
    isItemHovered(int indexX, int indexY, int mouseX, int mouseY)
     
    boolean
    isScrollbarHovered(int mouseX, int mouseY)
     
    boolean
    mouseClicked(double mouseX, double mouseY, int button)
     
    boolean
    mouseScrolled(double mouseX, double mouseY, double scrollX, double scrollY)
     
    protected void
    onDrag(double mouseX, double mouseY, double dragX, double dragY)
     
    protected void
    renderContainer(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY)
     
    final void
    renderItem(net.minecraft.client.gui.GuiGraphics guiGraphics, E item, int index, int left, int top, int mouseX, int mouseY)
     
    final void
    renderItem(net.minecraft.client.gui.GuiGraphics guiGraphics, E item, int xIndex, int yIndex, int left, int top, int mouseX, int mouseY)
     
    protected void
    renderScroller(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick)
     
    protected void
    renderTooltips(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v)
     
    protected void
    renderWidget(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v)
     
    void
     
    void
    setY(int y)
     
    protected void
    sortEntriesBy(Comparator<? super E> comparator)
     
    protected void
    updateWidgetNarration(net.minecraft.client.gui.narration.NarrationElementOutput narrationElementOutput)
     

    Methods inherited from class net.minecraft.client.gui.components.AbstractWidget

    clearFGColor, clicked, createNarrationMessage, defaultButtonNarrationText, getBottom, getFGColor, getHeight, getMessage, getRectangle, getRight, getTabOrderGroup, getTooltip, getWidth, getX, getY, isActive, isFocused, isHovered, isHoveredOrFocused, isMouseOver, isValidClickButton, mouseDragged, mouseReleased, narrationPriority, nextFocusPath, onClick, onRelease, playDownSound, render, renderScrollingString, renderScrollingString, renderScrollingString, setAlpha, setFGColor, setFocused, setHeight, setMessage, setRectangle, setSize, setTabOrderGroup, setTooltip, setTooltipDelay, setWidth, setX, updateNarration, visitWidgets, wrapDefaultNarrationMessage

    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

    Methods inherited from interface net.neoforged.neoforge.client.extensions.IAbstractWidgetExtension

    onClick

    Methods inherited from interface net.minecraft.client.gui.layouts.LayoutElement

    setPosition
  • Field Details

    • SCROLLER_SMALL_SPRITE

      public static final net.minecraft.resources.ResourceLocation SCROLLER_SMALL_SPRITE
    • SCROLLER_SMALL_HORIZONTAL_SPRITE

      public static final net.minecraft.resources.ResourceLocation SCROLLER_SMALL_HORIZONTAL_SPRITE
    • scrollOffset

      protected int scrollOffset
    • hoveredItem

      @Nullable protected E hoveredItem
    • hoveredXIndex

      protected int hoveredXIndex
    • hoveredYIndex

      protected int hoveredYIndex
  • Constructor Details

    • ContainerWidget

      public ContainerWidget(int width, int height, int itemWidth, int itemHeight, ContainerWidget.Orientation orientation, int cols, int rows, Collection<E> items, boolean renderScroller)
    • ContainerWidget

      public ContainerWidget(int x, int y, int width, int height, int itemWidth, int itemHeight, ContainerWidget.Orientation orientation, int cols, int rows, Collection<E> items, boolean renderScroller)
  • Method Details

    • renderWidget

      protected void renderWidget(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v)
      Specified by:
      renderWidget in class net.minecraft.client.gui.components.AbstractWidget
    • renderTooltips

      protected void renderTooltips(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v)
    • renderScroller

      protected void renderScroller(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick)
    • getScrollerX

      protected int getScrollerX(float scrollPercentage)
    • setY

      public void setY(int y)
      Specified by:
      setY in interface net.minecraft.client.gui.layouts.LayoutElement
      Overrides:
      setY in class net.minecraft.client.gui.components.AbstractWidget
    • getScissorsHeight

      protected int getScissorsHeight()
    • getScissorsWidth

      protected int getScissorsWidth()
    • mouseScrolled

      public boolean mouseScrolled(double mouseX, double mouseY, double scrollX, double scrollY)
    • isScrollbarHovered

      public boolean isScrollbarHovered(int mouseX, int mouseY)
    • mouseClicked

      public boolean mouseClicked(double mouseX, double mouseY, int button)
      Specified by:
      mouseClicked in interface net.minecraft.client.gui.components.events.GuiEventListener
      Overrides:
      mouseClicked in class net.minecraft.client.gui.components.AbstractWidget
    • onDrag

      protected void onDrag(double mouseX, double mouseY, double dragX, double dragY)
      Overrides:
      onDrag in class net.minecraft.client.gui.components.AbstractWidget
    • setItems

      public void setItems(Collection<E> items)
    • getItems

      public Collection<E> getItems()
    • getItemWidth

      public int getItemWidth()
    • getItemHeight

      public int getItemHeight()
    • getContentWidth

      public int getContentWidth()
    • getContentHeight

      public int getContentHeight()
    • getTop

      protected int getTop()
    • getLeft

      protected int getLeft()
    • renderContainer

      protected void renderContainer(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY)
    • isItemHovered

      public boolean isItemHovered(int index, int mouseX, int mouseY)
    • isItemHovered

      public boolean isItemHovered(int indexX, int indexY, int mouseX, int mouseY)
    • sortEntriesBy

      protected void sortEntriesBy(Comparator<? super E> comparator)
    • clickedItem

      public void clickedItem(E item, int index, int left, int top, int mouseX, int mouseY)
    • clickedItem

      public abstract void clickedItem(E item, int xIndex, int yIndex, int left, int top, int mouseX, int mouseY)
    • renderItem

      public final void renderItem(net.minecraft.client.gui.GuiGraphics guiGraphics, E item, int index, int left, int top, int mouseX, int mouseY)
    • renderItem

      public final void renderItem(net.minecraft.client.gui.GuiGraphics guiGraphics, E item, int xIndex, int yIndex, int left, int top, int mouseX, int mouseY)
    • internalRenderItem

      protected abstract void internalRenderItem(net.minecraft.client.gui.GuiGraphics guiGraphics, E item, int xIndex, int yIndex, int left, int top, int mouseX, int mouseY)
    • updateWidgetNarration

      protected void updateWidgetNarration(net.minecraft.client.gui.narration.NarrationElementOutput narrationElementOutput)
      Specified by:
      updateWidgetNarration in class net.minecraft.client.gui.components.AbstractWidget