类 WheelTreeWidget
java.lang.Object
net.minecraft.client.gui.components.AbstractWidget
net.minecraft.client.gui.components.AbstractScrollArea
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
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.AbstractScrollArea
SCROLLBAR_WIDTH从类继承的字段 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) 构造函数,初始化轮盘树组件。 -
方法概要
修饰符和类型方法说明static WheelTreeWidgetcreate(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) 获取鼠标所在位置的条目。booleanmouseClicked(double mouseX, double mouseY, int button) 处理鼠标点击事件。protected voidrenderBg(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v) 渲染轮盘树的背景。protected voidrenderTitle(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v) 渲染轮盘树的标题。voidresize()调整轮盘的大小,将中心点设置为屏幕中心。voidsetAngleOffset(float angleOffset) 设置角度偏移量并更新小部件。void更新轮盘树组件的状态。从类继承的方法 org.hiedacamellia.immersiveui.client.gui.component.widget.tree.TreeWidget
children, contentHeight, getSelect, hideTitle, isDrag, mouseDragged, mouseReleased, of, of, renderChildren, renderWidget, scrollRate, updateWidgetNarration从类继承的方法 net.minecraft.client.gui.components.AbstractContainerWidget
getFocused, isDragging, isFocused, nextFocusPath, setDragging, setFocused, setFocused从类继承的方法 net.minecraft.client.gui.components.AbstractScrollArea
maxScrollAmount, mouseScrolled, onRelease, refreshScrollAmount, renderScrollbar, scrollAmount, scrollbarVisible, scrollBarX, scrollBarY, scrollerHeight, setScrollAmount, updateScrolling从类继承的方法 net.minecraft.client.gui.components.AbstractWidget
clearFGColor, createNarrationMessage, defaultButtonNarrationText, getBottom, getFGColor, getHeight, getMessage, getRectangle, getRight, getTabOrderGroup, getTooltip, getWidth, getX, getY, isActive, isHovered, isHoveredOrFocused, isMouseOver, isValidClickButton, narrationPriority, onClick, onDrag, playButtonClickSound, 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
getBorderForArrowNavigation, getRectangle, isMouseOver, mouseMoved从接口继承的方法 net.neoforged.neoforge.client.extensions.IAbstractWidgetExtension
onClick从接口继承的方法 net.minecraft.client.gui.layouts.LayoutElement
setPosition从接口继承的方法 net.minecraft.client.gui.narration.NarratableEntry
getNarratables从接口继承的方法 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()更新轮盘树组件的状态。 计算每个子条目的角度、半径和层级,并递归更新子条目。 -
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
获取鼠标所在位置的条目。- 覆盖:
getAt在类中TreeWidget<ActionData,WheelTreeEntryWidget> - 参数:
mouseX- 鼠标的 X 坐标mouseY- 鼠标的 Y 坐标- 返回:
- 鼠标所在位置的条目,如果未找到则返回 null
-