Cursor3D.java

net.minecraft.core.Cursor3D

信息

  • 全限定名:net.minecraft.core.Cursor3D
  • 类型:public class
  • 包:net.minecraft.core
  • 源码路径:src/main/java/net/minecraft/core/Cursor3D.java
  • 起始行号:L3
  • 职责:

    TODO

字段/常量

  • TYPE_INSIDE

    • 类型: int
    • 修饰符: public static final
    • 源码定位: L4
    • 说明:

      TODO

  • TYPE_FACE

    • 类型: int
    • 修饰符: public static final
    • 源码定位: L5
    • 说明:

      TODO

  • TYPE_EDGE

    • 类型: int
    • 修饰符: public static final
    • 源码定位: L6
    • 说明:

      TODO

  • TYPE_CORNER

    • 类型: int
    • 修饰符: public static final
    • 源码定位: L7
    • 说明:

      TODO

  • originX

    • 类型: int
    • 修饰符: private final
    • 源码定位: L8
    • 说明:

      TODO

  • originY

    • 类型: int
    • 修饰符: private final
    • 源码定位: L9
    • 说明:

      TODO

  • originZ

    • 类型: int
    • 修饰符: private final
    • 源码定位: L10
    • 说明:

      TODO

  • width

    • 类型: int
    • 修饰符: private final
    • 源码定位: L11
    • 说明:

      TODO

  • height

    • 类型: int
    • 修饰符: private final
    • 源码定位: L12
    • 说明:

      TODO

  • depth

    • 类型: int
    • 修饰符: private final
    • 源码定位: L13
    • 说明:

      TODO

  • end

    • 类型: int
    • 修饰符: private final
    • 源码定位: L14
    • 说明:

      TODO

  • index

    • 类型: int
    • 修饰符: private
    • 源码定位: L15
    • 说明:

      TODO

  • x

    • 类型: int
    • 修饰符: private
    • 源码定位: L16
    • 说明:

      TODO

  • y

    • 类型: int
    • 修饰符: private
    • 源码定位: L17
    • 说明:

      TODO

  • z

    • 类型: int
    • 修饰符: private
    • 源码定位: L18
    • 说明:

      TODO

内部类/嵌套类型

构造器

public Cursor3D(int minX, int minY, int minZ, int maxX, int maxY, int maxZ) @ L20

  • 构造器名:Cursor3D
  • 源码定位:L20
  • 修饰符:public

参数:

  • minX: int
  • minY: int
  • minZ: int
  • maxX: int
  • maxY: int
  • maxZ: int

说明:

TODO

方法

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

public boolean advance() @ L30

  • 方法名:advance
  • 源码定位:L30
  • 返回类型:boolean
  • 修饰符:public

参数:

说明:

TODO

public int nextX() @ L43

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

参数:

说明:

TODO

public int nextY() @ L47

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

参数:

说明:

TODO

public int nextZ() @ L51

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

参数:

说明:

TODO

public int getNextType() @ L55

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

参数:

说明:

TODO

代码

public class Cursor3D {
    public static final int TYPE_INSIDE = 0;
    public static final int TYPE_FACE = 1;
    public static final int TYPE_EDGE = 2;
    public static final int TYPE_CORNER = 3;
    private final int originX;
    private final int originY;
    private final int originZ;
    private final int width;
    private final int height;
    private final int depth;
    private final int end;
    private int index;
    private int x;
    private int y;
    private int z;
 
    public Cursor3D(int minX, int minY, int minZ, int maxX, int maxY, int maxZ) {
        this.originX = minX;
        this.originY = minY;
        this.originZ = minZ;
        this.width = maxX - minX + 1;
        this.height = maxY - minY + 1;
        this.depth = maxZ - minZ + 1;
        this.end = this.width * this.height * this.depth;
    }
 
    public boolean advance() {
        if (this.index == this.end) {
            return false;
        } else {
            this.x = this.index % this.width;
            int slice = this.index / this.width;
            this.y = slice % this.height;
            this.z = slice / this.height;
            this.index++;
            return true;
        }
    }
 
    public int nextX() {
        return this.originX + this.x;
    }
 
    public int nextY() {
        return this.originY + this.y;
    }
 
    public int nextZ() {
        return this.originZ + this.z;
    }
 
    public int getNextType() {
        int type = 0;
        if (this.x == 0 || this.x == this.width - 1) {
            type++;
        }
 
        if (this.y == 0 || this.y == this.height - 1) {
            type++;
        }
 
        if (this.z == 0 || this.z == this.depth - 1) {
            type++;
        }
 
        return type;
    }
}

引用的其他类