类 ScreenWidgetLayer

java.lang.Object
org.hiedacamellia.immersiveui.client.gui.layer.ScreenWidgetLayer
所有已实现的接口:
net.minecraft.client.gui.LayeredDraw.Layer

public class ScreenWidgetLayer extends Object implements net.minecraft.client.gui.LayeredDraw.Layer
ScreenWidgetLayer 是一个用于管理屏幕小部件的图层类。 它实现了 LayeredDraw.Layer 接口,提供了屏幕渲染、鼠标交互和键盘事件处理的功能。
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    protected boolean
    是否绘制虚拟鼠标指针。
    protected boolean
    是否启用偏移效果。
    static final ScreenWidgetLayer
    单例实例,用于全局访问 ScreenWidgetLayer。
    static final net.minecraft.resources.ResourceLocation
    屏幕图层的资源位置标识符。
    protected double
    鼠标的 X 坐标。
    protected double
    鼠标的 Y 坐标。
    protected float
    偏移因子,用于控制偏移效果的强度。
    protected @Nullable net.minecraft.client.gui.screens.Screen
    当前显示的屏幕对象。
    protected float
    虚拟鼠标的内半径。
    protected float
    虚拟鼠标的外半径。
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    void
    addPos(double mouseX, double mouseY)
    更新鼠标位置。
    boolean
    click(int button, int action)
    处理鼠标点击事件。
    @Nullable net.minecraft.client.gui.screens.Screen
    获取当前显示的屏幕。
    boolean
    检查是否有屏幕正在显示。
    boolean
    keyPressed(int keyCode, int scanCode, int modifiers)
    处理键盘按键事件。
    void
    移除当前显示的屏幕。
    void
    render(net.minecraft.client.gui.GuiGraphics guiGraphics, net.minecraft.client.DeltaTracker deltaTracker)
    渲染屏幕小部件。
    void
    setDrawVirtualMouse(boolean drawVirtualMouse)
    设置是否绘制虚拟鼠标指针。
    void
    setEnableOffset(boolean enableOffset)
    设置是否启用偏移效果。
    void
    setOffsetFactor(float offsetFactor)
    设置偏移因子。
    void
    setScreen(@NotNull net.minecraft.client.gui.screens.Screen screen)
    设置当前显示的屏幕。
    void
    setVirtualMouseRadius(float innerRadius, float outerRadius)
    设置虚拟鼠标的半径。

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

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 字段详细资料

    • INSTANCE

      public static final ScreenWidgetLayer INSTANCE
      单例实例,用于全局访问 ScreenWidgetLayer。
    • LOCATION

      public static final net.minecraft.resources.ResourceLocation LOCATION
      屏幕图层的资源位置标识符。
    • screen

      @Nullable protected @Nullable net.minecraft.client.gui.screens.Screen screen
      当前显示的屏幕对象。
    • enableOffset

      protected boolean enableOffset
      是否启用偏移效果。
    • offsetFactor

      protected float offsetFactor
      偏移因子,用于控制偏移效果的强度。
    • mouseX

      protected double mouseX
      鼠标的 X 坐标。
    • mouseY

      protected double mouseY
      鼠标的 Y 坐标。
    • drawVirtualMouse

      protected boolean drawVirtualMouse
      是否绘制虚拟鼠标指针。
    • virtualMouseInnerRadius

      protected float virtualMouseInnerRadius
      虚拟鼠标的内半径。
    • virtualMouseOuterRadius

      protected float virtualMouseOuterRadius
      虚拟鼠标的外半径。
  • 构造器详细资料

    • ScreenWidgetLayer

      public ScreenWidgetLayer()
  • 方法详细资料

    • getScreen

      @Nullable public @Nullable net.minecraft.client.gui.screens.Screen getScreen()
      获取当前显示的屏幕。
      返回:
      当前的屏幕对象,如果没有屏幕则返回 null
    • setScreen

      public void setScreen(@NotNull @NotNull net.minecraft.client.gui.screens.Screen screen)
      设置当前显示的屏幕。 初始化屏幕并捕获鼠标。
      参数:
      screen - 要设置的屏幕对象
    • removeScreen

      public void removeScreen()
      移除当前显示的屏幕。 停止鼠标捕获。
    • hasScreen

      public boolean hasScreen()
      检查是否有屏幕正在显示。
      返回:
      如果有屏幕显示则返回 true,否则返回 false
    • setEnableOffset

      public void setEnableOffset(boolean enableOffset)
      设置是否启用偏移效果。
      参数:
      enableOffset - 是否启用偏移
    • setOffsetFactor

      public void setOffsetFactor(float offsetFactor)
      设置偏移因子。
      参数:
      offsetFactor - 偏移因子值
    • addPos

      public void addPos(double mouseX, double mouseY)
      更新鼠标位置。 根据提供的增量值调整鼠标位置,并限制在屏幕范围内。
      参数:
      mouseX - 鼠标 X 坐标的增量
      mouseY - 鼠标 Y 坐标的增量
    • click

      public boolean click(int button, int action)
      处理鼠标点击事件。
      参数:
      button - 鼠标按键
      action - 按键动作(按下或释放)
      返回:
      如果事件被处理则返回 true,否则返回 false
    • keyPressed

      public boolean keyPressed(int keyCode, int scanCode, int modifiers)
      处理键盘按键事件。
      参数:
      keyCode - 按键代码
      scanCode - 扫描代码
      modifiers - 修饰键
      返回:
      如果事件被处理则返回 true,否则返回 false
    • render

      public void render(net.minecraft.client.gui.GuiGraphics guiGraphics, net.minecraft.client.DeltaTracker deltaTracker)
      渲染屏幕小部件。
      指定者:
      render 在接口中 net.minecraft.client.gui.LayeredDraw.Layer
      参数:
      guiGraphics - 渲染上下文
      deltaTracker - 时间增量跟踪器
    • setDrawVirtualMouse

      public void setDrawVirtualMouse(boolean drawVirtualMouse)
      设置是否绘制虚拟鼠标指针。
      参数:
      drawVirtualMouse - 是否绘制虚拟鼠标
    • setVirtualMouseRadius

      public void setVirtualMouseRadius(float innerRadius, float outerRadius)
      设置虚拟鼠标的半径。
      参数:
      innerRadius - 内半径
      outerRadius - 外半径