类 World2ScreenScreen

java.lang.Object
org.hiedacamellia.immersiveui.client.gui.component.w2s.World2ScreenWidget
org.hiedacamellia.immersiveui.client.gui.component.w2s.World2ScreenScreen
所有已实现的接口:
IW2SWidget

public class World2ScreenScreen extends World2ScreenWidget
World2ScreenScreen 是一个从世界坐标到屏幕坐标的可渲染组件。 它继承自 World2ScreenWidget,并提供了屏幕渲染、交互和缩放计算的功能。
  • 字段详细资料

    • minecraft

      protected net.minecraft.client.Minecraft minecraft
      Minecraft 实例,用于访问游戏相关的上下文。
    • screen

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

      protected net.minecraft.world.entity.player.Player player
      当前玩家对象。
    • w

      protected int w
      屏幕的宽度。
    • h

      protected int h
      屏幕的高度。
    • pos

      protected net.minecraft.world.phys.Vec3 pos
      组件的世界坐标位置。
    • mainRenderTarget

      protected final com.mojang.blaze3d.pipeline.RenderTarget mainRenderTarget
      主渲染目标,用于屏幕渲染。
  • 构造器详细资料

    • World2ScreenScreen

      public World2ScreenScreen(UUID uuid, net.minecraft.client.gui.screens.Screen screen, net.minecraft.world.entity.player.Player player)
      构造函数,使用 UUID、屏幕和玩家对象初始化组件。
      参数:
      uuid - 组件的唯一标识符
      screen - 当前显示的屏幕
      player - 当前玩家对象
    • World2ScreenScreen

      public World2ScreenScreen(UUID uuid, net.minecraft.client.gui.screens.Screen screen, net.minecraft.world.entity.player.Player player, net.minecraft.world.phys.Vec3 pos)
      构造函数,使用 UUID、屏幕、玩家对象和位置初始化组件。
      参数:
      uuid - 组件的唯一标识符
      screen - 当前显示的屏幕
      player - 当前玩家对象
      pos - 组件的世界坐标位置
  • 方法详细资料

    • setScreen

      public void setScreen(net.minecraft.client.gui.screens.Screen screen)
      设置当前显示的屏幕。 初始化屏幕并设置其宽度和高度。
      参数:
      screen - 要设置的屏幕对象
    • getScreen

      public net.minecraft.client.gui.screens.Screen getScreen()
      获取当前显示的屏幕。
      返回:
      当前的屏幕对象
    • resize

      public void resize()
      调整组件的大小。 更新屏幕的宽度和高度。
      指定者:
      resize 在接口中 IW2SWidget
      覆盖:
      resize 在类中 World2ScreenWidget
    • isSameScreen

      public boolean isSameScreen(net.minecraft.client.gui.screens.Screen screen)
      检查是否为相同的屏幕。
      参数:
      screen - 要比较的屏幕对象
      返回:
      如果是相同的屏幕则返回 true,否则返回 false
    • keyPressed

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

      public boolean click(int button)
      处理鼠标点击事件。
      参数:
      button - 鼠标按键
      返回:
      如果事件被处理则返回 true,否则返回 false
    • scroll

      public boolean scroll(double mouseX, double mouseY, double scrollX, double scrollY)
      处理鼠标滚动事件。
      参数:
      mouseX - 鼠标的 X 坐标
      mouseY - 鼠标的 Y 坐标
      scrollX - 滚动的 X 方向增量
      scrollY - 滚动的 Y 方向增量
      返回:
      如果事件被处理则返回 true,否则返回 false
    • getWorldPos

      public void getWorldPos(org.joml.Vector3f out)
      获取组件的世界坐标。
      参数:
      out - 用于存储世界坐标的 Vector3f 对象
    • render

      public void render(net.minecraft.client.gui.GuiGraphics guiGraphics, boolean highlight, float value, net.minecraft.client.DeltaTracker deltaTracker)
      渲染组件。
      参数:
      guiGraphics - 渲染上下文
      highlight - 是否高亮显示
      value - 渲染附加值
      deltaTracker - 时间增量跟踪器
    • calculateRenderScale

      public void calculateRenderScale(float distanceSqr)
      根据距离平方值计算渲染缩放比例。 如果距离过远,则移除组件。
      指定者:
      calculateRenderScale 在接口中 IW2SWidget
      覆盖:
      calculateRenderScale 在类中 World2ScreenWidget
      参数:
      distanceSqr - 距离的平方值