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;
}
}引用的其他类
- 无