FaceInfo.java
net.minecraft.client.renderer.FaceInfo
信息
- 全限定名:net.minecraft.client.renderer.FaceInfo
- 类型:public enum
- 包:net.minecraft.client.renderer
- 源码路径:src/main/java/net/minecraft/client/renderer/FaceInfo.java
- 起始行号:L13
- 职责:
TODO
字段/常量
-
MAX_Z, MIN_Z, MIN_Z, MAX_Z, MAX_Z, MIN_Z- 类型:
DOWN(new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X,FaceInfo.Extent.MIN_Y,FaceInfo.Extent.MAX_Z),new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X,FaceInfo.Extent.MIN_Y,FaceInfo.Extent.MIN_Z),new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X,FaceInfo.Extent.MIN_Y,FaceInfo.Extent.MIN_Z),new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X,FaceInfo.Extent.MIN_Y,FaceInfo.Extent. - 修饰符:
package-private - 源码定位:
L14 - 说明:
TODO
- 类型:
-
infos- 类型:
FaceInfo.VertexInfo[] - 修饰符:
private final - 源码定位:
L59 - 说明:
TODO
- 类型:
内部类/嵌套类型
-
net.minecraft.client.renderer.FaceInfo.Extent- 类型:
enum - 修饰符:
public static - 源码定位:
L74 - 说明:
TODO
- 类型:
-
net.minecraft.client.renderer.FaceInfo.VertexInfo- 类型:
record - 修饰符:
public - 源码定位:
L106 - 说明:
TODO
- 类型:
构造器
private FaceInfo(FaceInfo.VertexInfo... infos) @ L65
- 构造器名:FaceInfo
- 源码定位:L65
- 修饰符:private
参数:
- infos: FaceInfo.VertexInfo…
说明:
TODO
方法
下面的方法块按源码顺序生成。
public static FaceInfo fromFacing(Direction direction) @ L61
- 方法名:fromFacing
- 源码定位:L61
- 返回类型:FaceInfo
- 修饰符:public static
参数:
- direction: Direction
说明:
TODO
public FaceInfo.VertexInfo getVertexInfo(int index) @ L69
- 方法名:getVertexInfo
- 源码定位:L69
- 返回类型:FaceInfo.VertexInfo
- 修饰符:public
参数:
- index: int
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public enum FaceInfo {
DOWN(
new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X, FaceInfo.Extent.MIN_Y, FaceInfo.Extent.MAX_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X, FaceInfo.Extent.MIN_Y, FaceInfo.Extent.MIN_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X, FaceInfo.Extent.MIN_Y, FaceInfo.Extent.MIN_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X, FaceInfo.Extent.MIN_Y, FaceInfo.Extent.MAX_Z)
),
UP(
new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X, FaceInfo.Extent.MAX_Y, FaceInfo.Extent.MIN_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X, FaceInfo.Extent.MAX_Y, FaceInfo.Extent.MAX_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X, FaceInfo.Extent.MAX_Y, FaceInfo.Extent.MAX_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X, FaceInfo.Extent.MAX_Y, FaceInfo.Extent.MIN_Z)
),
NORTH(
new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X, FaceInfo.Extent.MAX_Y, FaceInfo.Extent.MIN_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X, FaceInfo.Extent.MIN_Y, FaceInfo.Extent.MIN_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X, FaceInfo.Extent.MIN_Y, FaceInfo.Extent.MIN_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X, FaceInfo.Extent.MAX_Y, FaceInfo.Extent.MIN_Z)
),
SOUTH(
new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X, FaceInfo.Extent.MAX_Y, FaceInfo.Extent.MAX_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X, FaceInfo.Extent.MIN_Y, FaceInfo.Extent.MAX_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X, FaceInfo.Extent.MIN_Y, FaceInfo.Extent.MAX_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X, FaceInfo.Extent.MAX_Y, FaceInfo.Extent.MAX_Z)
),
WEST(
new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X, FaceInfo.Extent.MAX_Y, FaceInfo.Extent.MIN_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X, FaceInfo.Extent.MIN_Y, FaceInfo.Extent.MIN_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X, FaceInfo.Extent.MIN_Y, FaceInfo.Extent.MAX_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MIN_X, FaceInfo.Extent.MAX_Y, FaceInfo.Extent.MAX_Z)
),
EAST(
new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X, FaceInfo.Extent.MAX_Y, FaceInfo.Extent.MAX_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X, FaceInfo.Extent.MIN_Y, FaceInfo.Extent.MAX_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X, FaceInfo.Extent.MIN_Y, FaceInfo.Extent.MIN_Z),
new FaceInfo.VertexInfo(FaceInfo.Extent.MAX_X, FaceInfo.Extent.MAX_Y, FaceInfo.Extent.MIN_Z)
);
private static final Map<Direction, FaceInfo> BY_FACING = Util.make(new EnumMap<>(Direction.class), map -> {
map.put(Direction.DOWN, DOWN);
map.put(Direction.UP, UP);
map.put(Direction.NORTH, NORTH);
map.put(Direction.SOUTH, SOUTH);
map.put(Direction.WEST, WEST);
map.put(Direction.EAST, EAST);
});
private final FaceInfo.VertexInfo[] infos;
public static FaceInfo fromFacing(Direction direction) {
return BY_FACING.get(direction);
}
private FaceInfo(FaceInfo.VertexInfo... infos) {
this.infos = infos;
}
public FaceInfo.VertexInfo getVertexInfo(int index) {
return this.infos[index];
}
@OnlyIn(Dist.CLIENT)
public static enum Extent {
MIN_X,
MIN_Y,
MIN_Z,
MAX_X,
MAX_Y,
MAX_Z;
public float select(Vector3fc min, Vector3fc max) {
return switch (this) {
case MIN_X -> min.x();
case MIN_Y -> min.y();
case MIN_Z -> min.z();
case MAX_X -> max.x();
case MAX_Y -> max.y();
case MAX_Z -> max.z();
};
}
public float select(float minX, float minY, float minZ, float maxX, float maxY, float maxZ) {
return switch (this) {
case MIN_X -> minX;
case MIN_Y -> minY;
case MIN_Z -> minZ;
case MAX_X -> maxX;
case MAX_Y -> maxY;
case MAX_Z -> maxZ;
};
}
}
@OnlyIn(Dist.CLIENT)
public record VertexInfo(FaceInfo.Extent xFace, FaceInfo.Extent yFace, FaceInfo.Extent zFace) {
public Vector3f select(Vector3fc min, Vector3fc max) {
return new Vector3f(this.xFace.select(min, max), this.yFace.select(min, max), this.zFace.select(min, max));
}
}
}