net.minecraft.util.EnumFacing#toString ( )源码实例Demo

下面列出了net.minecraft.util.EnumFacing#toString ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Signals   文件: HeadingUtils.java
public static EnumHeading fromFacing(EnumFacing facing){
    if(facing == null) return null;
    switch(facing){
        case NORTH:
            return EnumHeading.NORTH;
        case SOUTH:
            return EnumHeading.SOUTH;
        case WEST:
            return EnumHeading.WEST;
        case EAST:
            return EnumHeading.EAST;
        default:
            throw new IllegalArgumentException(facing.toString());
    }
}
 
源代码2 项目: OpenModsLib   文件: BlockTextureTransform.java
public TexCoords worldVecToTextureCoords(EnumFacing side, double x, double y, double z) {
	final double wallX;
	final double wallY;
	final double h;
	// positive h always points "outside" block
	switch (side) {
		case UP:
			wallX = x;
			wallY = z;
			h = y - 1;
			break;
		case DOWN:
			wallX = x;
			wallY = z;
			h = -y;
			break;
		case EAST:
			wallX = z;
			wallY = 1 - y;
			h = x - 1;
			break;
		case WEST:
			wallX = z;
			wallY = 1 - y;
			h = -x;
			break;
		case NORTH:
			wallX = x;
			wallY = 1 - y;
			h = -z;
			break;
		case SOUTH:
			wallX = x;
			wallY = 1 - y;
			h = z - 1;
			break;
		default:
			throw new IllegalArgumentException(side.toString());
	}

	final Matrix2d transformation = transforms.get(side);
	final double u = transformation.transformX(wallX - 0.5, wallY - 0.5) + 0.5;
	final double v = transformation.transformY(wallX - 0.5, wallY - 0.5) + 0.5;
	return new TexCoords(u, v, h);
}
 
源代码3 项目: OpenModsLib   文件: BlockTextureTransform.java
public Vec3d textureCoordsToWorldVec(EnumFacing side, double u, double v, double h) {
	final Matrix2d transformation = inverseTransforms.get(side);
	if (transformation == null) throw new IllegalArgumentException(side.toString());

	final double wallX = transformation.transformX(u - 0.5, v - 0.5) + 0.5;
	final double wallY = transformation.transformY(u - 0.5, v - 0.5) + 0.5;

	final double globalX;
	final double globalY;
	final double globalZ;

	switch (side) {
		case UP:
			globalX = wallX;
			globalY = h + 1;
			globalZ = wallY;
			break;
		case DOWN:
			globalX = wallX;
			globalY = -h;
			globalZ = wallY;
			break;
		case EAST:
			globalX = h + 1;
			globalY = 1 - wallY;
			globalZ = wallX;
			break;
		case WEST:
			globalX = -h;
			globalY = 1 - wallY;
			globalZ = wallX;
			break;
		case NORTH:
			globalX = wallX;
			globalY = 1 - wallY;
			globalZ = -h;
			break;
		case SOUTH:
			globalX = wallX;
			globalY = 1 - wallY;
			globalZ = h + 1;
			break;
		default:
			throw new IllegalArgumentException(side.toString());
	}

	return new Vec3d(globalX, globalY, globalZ);
}