java.lang.Object
net.minecraft.client.gui.components.AbstractWidget
net.minecraft.client.gui.components.AbstractContainerWidget
org.hiedacamellia.immersiveui.client.gui.component.widget.tree.TreeWidget<ActionData,WheelTreeEntryWidget>
org.hiedacamellia.immersiveui.client.gui.component.widget.tree.wheel.WheelTreeWidget
所有已实现的接口:
net.minecraft.client.gui.components.events.ContainerEventHandler, 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

public class WheelTreeWidget extends TreeWidget<ActionData,WheelTreeEntryWidget>
WheelTreeWidget 是一个用于表示轮盘树的组件类。 它继承自 TreeWidget,并提供了与轮盘相关的渲染和交互功能。
  • 嵌套类概要

    从接口继承的嵌套类/接口 net.minecraft.client.gui.narration.NarratableEntry

    net.minecraft.client.gui.narration.NarratableEntry.NarrationPriority
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    protected float
    角度偏移量,用于调整轮盘条目的起始角度。
    protected int
    轮盘的中心 X 坐标。
    protected int
    轮盘的中心 Y 坐标。

    从类继承的字段 org.hiedacamellia.immersiveui.client.gui.component.widget.tree.TreeWidget

    dragable, font, onDrag, root, select, titleHeight, titleWidth

    从类继承的字段 net.minecraft.client.gui.components.AbstractWidget

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

    从接口继承的字段 net.minecraft.client.gui.components.events.GuiEventListener

    DOUBLE_CLICK_THRESHOLD_MS
  • 构造器概要

    构造器
    构造器
    说明
    WheelTreeWidget(List<? extends WheelTreeEntryWidget> root, int x, int y, net.minecraft.network.chat.Component component, net.minecraft.client.gui.Font font)
    构造函数,初始化轮盘树组件。
  • 方法概要

    修饰符和类型
    方法
    说明
    create(List<? extends WheelTreeEntryWidget> root, int x, int y, net.minecraft.network.chat.Component component, net.minecraft.client.gui.Font font)
    创建一个新的 WheelTreeWidget 实例。
    getAt(double mouseX, double mouseY)
    获取鼠标所在位置的条目。
    boolean
    mouseClicked(double mouseX, double mouseY, int button)
    处理鼠标点击事件。
    protected void
    renderBg(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v)
    渲染轮盘树的背景。
    protected void
    renderTitle(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v)
    渲染轮盘树的标题。
    void
    调整轮盘的大小,将中心点设置为屏幕中心。
    void
    setAngleOffset(float angleOffset)
    设置角度偏移量并更新小部件。
    void
    更新轮盘树组件的状态。

    从类继承的方法 org.hiedacamellia.immersiveui.client.gui.component.widget.tree.TreeWidget

    children, getSelect, hideTitle, isDrag, mouseDragged, mouseReleased, of, of, renderChildren, renderWidget, updateWidgetNarration

    从类继承的方法 net.minecraft.client.gui.components.AbstractContainerWidget

    getFocused, isDragging, isFocused, nextFocusPath, setDragging, setFocused, setFocused

    从类继承的方法 net.minecraft.client.gui.components.AbstractWidget

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

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    从接口继承的方法 net.minecraft.client.gui.components.events.ContainerEventHandler

    charTyped, getChildAt, getCurrentFocusPath, keyPressed, keyReleased, mouseScrolled

    从接口继承的方法 net.minecraft.client.gui.components.events.GuiEventListener

    getRectangle, isMouseOver, mouseMoved

    从接口继承的方法 net.neoforged.neoforge.client.extensions.IAbstractWidgetExtension

    onClick

    从接口继承的方法 net.minecraft.client.gui.layouts.LayoutElement

    setPosition

    从接口继承的方法 net.minecraft.client.gui.components.TabOrderedElement

    getTabOrderGroup
  • 字段详细资料

    • centerX

      protected int centerX
      轮盘的中心 X 坐标。
    • centerY

      protected int centerY
      轮盘的中心 Y 坐标。
    • angleOffset

      protected float angleOffset
      角度偏移量,用于调整轮盘条目的起始角度。
  • 构造器详细资料

    • WheelTreeWidget

      public WheelTreeWidget(List<? extends WheelTreeEntryWidget> root, int x, int y, net.minecraft.network.chat.Component component, net.minecraft.client.gui.Font font)
      构造函数,初始化轮盘树组件。
      参数:
      root - 根条目列表
      x - 组件的 X 坐标
      y - 组件的 Y 坐标
      component - 显示的标题
      font - 用于渲染的字体
  • 方法详细资料

    • setAngleOffset

      public void setAngleOffset(float angleOffset)
      设置角度偏移量并更新小部件。
      参数:
      angleOffset - 角度偏移量
    • resize

      public void resize()
      调整轮盘的大小,将中心点设置为屏幕中心。 同时调整所有子条目的大小。
    • create

      public static WheelTreeWidget create(List<? extends WheelTreeEntryWidget> root, int x, int y, net.minecraft.network.chat.Component component, net.minecraft.client.gui.Font font)
      创建一个新的 WheelTreeWidget 实例。
      参数:
      root - 根条目列表
      x - 组件的 X 坐标
      y - 组件的 Y 坐标
      component - 显示的标题
      font - 用于渲染的字体
      返回:
      创建的 WheelTreeWidget 实例
    • updateWidget

      public void updateWidget()
      更新轮盘树组件的状态。 计算每个子条目的角度、半径和层级,并递归更新子条目。
      覆盖:
      updateWidget 在类中 TreeWidget<ActionData,WheelTreeEntryWidget>
    • renderTitle

      protected void renderTitle(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v)
      渲染轮盘树的标题。
      覆盖:
      renderTitle 在类中 TreeWidget<ActionData,WheelTreeEntryWidget>
      参数:
      guiGraphics - 渲染上下文
      mouseX - 鼠标的 X 坐标
      mouseY - 鼠标的 Y 坐标
      v - 渲染的附加参数
    • renderBg

      protected void renderBg(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v)
      渲染轮盘树的背景。
      覆盖:
      renderBg 在类中 TreeWidget<ActionData,WheelTreeEntryWidget>
      参数:
      guiGraphics - 渲染上下文
      mouseX - 鼠标的 X 坐标
      mouseY - 鼠标的 Y 坐标
      v - 渲染的附加参数
    • mouseClicked

      public boolean mouseClicked(double mouseX, double mouseY, int button)
      处理鼠标点击事件。
      指定者:
      mouseClicked 在接口中 net.minecraft.client.gui.components.events.ContainerEventHandler
      指定者:
      mouseClicked 在接口中 net.minecraft.client.gui.components.events.GuiEventListener
      覆盖:
      mouseClicked 在类中 TreeWidget<ActionData,WheelTreeEntryWidget>
      参数:
      mouseX - 鼠标的 X 坐标
      mouseY - 鼠标的 Y 坐标
      button - 鼠标按键
      返回:
      如果事件被处理则返回 true,否则返回 false
    • getAt

      public TreeEntryWidget<ActionData> getAt(double mouseX, double mouseY)
      获取鼠标所在位置的条目。
      覆盖:
      getAt 在类中 TreeWidget<ActionData,WheelTreeEntryWidget>
      参数:
      mouseX - 鼠标的 X 坐标
      mouseY - 鼠标的 Y 坐标
      返回:
      鼠标所在位置的条目,如果未找到则返回 null