ScreenPosition.java

net.minecraft.client.gui.navigation.ScreenPosition

信息

  • 全限定名:net.minecraft.client.gui.navigation.ScreenPosition
  • 类型:public record
  • 包:net.minecraft.client.gui.navigation
  • 源码路径:src/main/java/net/minecraft/client/gui/navigation/ScreenPosition.java
  • 起始行号:L7
  • 职责:

    TODO

字段/常量

内部类/嵌套类型

构造器

方法

下面的方法块按源码顺序生成。

public static ScreenPosition of(ScreenAxis axis, int primaryValue, int secondaryValue) @ L8

  • 方法名:of
  • 源码定位:L8
  • 返回类型:ScreenPosition
  • 修饰符:public static

参数:

  • axis: ScreenAxis
  • primaryValue: int
  • secondaryValue: int

说明:

TODO

public ScreenPosition step(ScreenDirection direction) @ L15

  • 方法名:step
  • 源码定位:L15
  • 返回类型:ScreenPosition
  • 修饰符:public

参数:

  • direction: ScreenDirection

说明:

TODO

public int getCoordinate(ScreenAxis axis) @ L24

  • 方法名:getCoordinate
  • 源码定位:L24
  • 返回类型:int
  • 修饰符:public

参数:

  • axis: ScreenAxis

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public record ScreenPosition(int x, int y) {
    public static ScreenPosition of(ScreenAxis axis, int primaryValue, int secondaryValue) {
        return switch (axis) {
            case HORIZONTAL -> new ScreenPosition(primaryValue, secondaryValue);
            case VERTICAL -> new ScreenPosition(secondaryValue, primaryValue);
        };
    }
 
    public ScreenPosition step(ScreenDirection direction) {
        return switch (direction) {
            case DOWN -> new ScreenPosition(this.x, this.y + 1);
            case UP -> new ScreenPosition(this.x, this.y - 1);
            case LEFT -> new ScreenPosition(this.x - 1, this.y);
            case RIGHT -> new ScreenPosition(this.x + 1, this.y);
        };
    }
 
    public int getCoordinate(ScreenAxis axis) {
        return switch (axis) {
            case HORIZONTAL -> this.x;
            case VERTICAL -> this.y;
        };
    }
}

引用的其他类