java.lang.Object
net.minecraft.client.gui.components.AbstractWidget
所有已实现的接口:
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, IAnimatable, IBarWidget

public class DelayBarWidget extends BaseBarWidget implements IAnimatable
DelayBarWidget 是一个带有延迟效果的进度条组件,继承自 BaseBarWidget。 它支持在进度变化时添加延迟动画,并根据进度增加或减少显示不同的颜色。
  • 嵌套类概要

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

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

    字段
    修饰符和类型
    字段
    说明
    protected long
     
    protected int
     
    protected int
     
    protected long
     
    protected float
     
    protected float
     

    从类继承的字段 org.hiedacamellia.immersiveui.client.gui.component.widget.bar.base.BaseBarWidget

    backColor, barColor, border, borderColor, borderX, borderY, isReverse, isVertical

    从类继承的字段 org.hiedacamellia.immersiveui.client.gui.component.widget.bar.AbstractBarWidget

    progress

    从类继承的字段 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
  • 构造器概要

    构造器
    构造器
    说明
    DelayBarWidget(int x, int y, int width, int height, net.minecraft.network.chat.Component message)
    构造一个 DelayBarWidget 实例。
  • 方法概要

    修饰符和类型
    方法
    说明
    long
    获取动画持续时间。
    long
    获取动画起始时间。
    protected boolean
    检查当前进度是否为减少状态。
    protected boolean
    检查当前进度是否为增加状态。
    void
    renderAfterBar(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v)
    在进度条之后渲染进度减少的颜色效果。
    void
    renderBeforeBar(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v)
    在进度条之前渲染进度增加的颜色效果。
    protected void
    renderWidget(net.minecraft.client.gui.GuiGraphics guiGraphics, int i, int i1, float v)
    渲染组件,包括延迟动画的逻辑。
    void
    处理进度动画的时间推进。
    void
    setAnimationDuration(long duration)
    设置动画持续时间。
    void
    设置动画起始时间。
    void
    setDelay(long delay)
    设置进度变化的延迟时间。
    void
    设置进度减少时的颜色。
    void
    设置进度增加时的颜色。
    void
    setProgress(float progress)
    设置目标进度值,并初始化延迟动画的相关参数。

    从类继承的方法 org.hiedacamellia.immersiveui.client.gui.component.widget.bar.base.BaseBarWidget

    noBorder, renderBack, renderBar, renderBorder, reverse, setBackColor, setBarColor, setBorderColor, setBorderWidth, updateWidgetNarration, vertical

    从类继承的方法 org.hiedacamellia.immersiveui.client.gui.component.widget.bar.AbstractBarWidget

    getProgress

    从类继承的方法 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, mouseClicked, mouseDragged, mouseReleased, narrationPriority, nextFocusPath, onClick, onDrag, onRelease, playDownSound, render, renderScrollingString, renderScrollingString, renderScrollingString, setAlpha, setFGColor, setFocused, 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.GuiEventListener

    charTyped, getCurrentFocusPath, keyPressed, keyReleased, mouseMoved, mouseScrolled

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

    onClick

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

    getHeight, getRectangle, getWidth, getX, getY, setPosition, setX, setY, visitWidgets

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

    render
  • 字段详细资料

    • delayIncreaseColor

      protected int delayIncreaseColor
    • delayDecreaseColor

      protected int delayDecreaseColor
    • delay

      protected long delay
    • startProgress

      protected float startProgress
    • targetProgress

      protected float targetProgress
    • delayStartTime

      protected long delayStartTime
  • 构造器详细资料

    • DelayBarWidget

      public DelayBarWidget(int x, int y, int width, int height, net.minecraft.network.chat.Component message)
      构造一个 DelayBarWidget 实例。
      参数:
      x - 组件的 X 坐标
      y - 组件的 Y 坐标
      width - 组件的宽度
      height - 组件的高度
      message - 组件的文本信息
  • 方法详细资料

    • setDelay

      public void setDelay(long delay)
      设置进度变化的延迟时间。
      参数:
      delay - 延迟时间(毫秒)
    • setDelayIncreaseColor

      public void setDelayIncreaseColor(int color)
      设置进度增加时的颜色。
      参数:
      color - 颜色值(ARGB 格式)
    • setDelayDecreaseColor

      public void setDelayDecreaseColor(int color)
      设置进度减少时的颜色。
      参数:
      color - 颜色值(ARGB 格式)
    • isIncrease

      protected boolean isIncrease()
      检查当前进度是否为增加状态。
      返回:
      如果目标进度大于当前进度,则返回 true
    • isDecrease

      protected boolean isDecrease()
      检查当前进度是否为减少状态。
      返回:
      如果目标进度小于当前进度,则返回 true
    • setProgress

      public void setProgress(float progress)
      设置目标进度值,并初始化延迟动画的相关参数。
      指定者:
      setProgress 在接口中 IBarWidget
      覆盖:
      setProgress 在类中 AbstractBarWidget
      参数:
      progress - 目标进度值(范围 0 到 1)
    • renderWidget

      protected void renderWidget(net.minecraft.client.gui.GuiGraphics guiGraphics, int i, int i1, float v)
      渲染组件,包括延迟动画的逻辑。
      覆盖:
      renderWidget 在类中 AbstractBarWidget
      参数:
      guiGraphics - 渲染上下文
      i - 鼠标的 X 坐标
      i1 - 鼠标的 Y 坐标
      v - 渲染的部分时间
    • renderBeforeBar

      public void renderBeforeBar(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v)
      在进度条之前渲染进度增加的颜色效果。
      指定者:
      renderBeforeBar 在接口中 IBarWidget
      参数:
      guiGraphics - 渲染上下文
      mouseX - 鼠标的 X 坐标
      mouseY - 鼠标的 Y 坐标
      v - 渲染的部分时间
    • renderAfterBar

      public void renderAfterBar(net.minecraft.client.gui.GuiGraphics guiGraphics, int mouseX, int mouseY, float v)
      在进度条之后渲染进度减少的颜色效果。
      指定者:
      renderAfterBar 在接口中 IBarWidget
      参数:
      guiGraphics - 渲染上下文
      mouseX - 鼠标的 X 坐标
      mouseY - 鼠标的 Y 坐标
      v - 渲染的部分时间
    • getAnimationStartTime

      public long getAnimationStartTime()
      获取动画起始时间。
      指定者:
      getAnimationStartTime 在接口中 IAnimatable
    • setAnimationStartTime

      public void setAnimationStartTime(long time)
      设置动画起始时间。
      指定者:
      setAnimationStartTime 在接口中 IAnimatable
    • getAnimationDuration

      public long getAnimationDuration()
      获取动画持续时间。
      指定者:
      getAnimationDuration 在接口中 IAnimatable
    • setAnimationDuration

      public void setAnimationDuration(long duration)
      设置动画持续时间。
      指定者:
      setAnimationDuration 在接口中 IAnimatable
    • runningTime

      public void runningTime()
      处理进度动画的时间推进。
      指定者:
      runningTime 在接口中 IAnimatable