001package net.minecraft.util; 002 003public class Direction 004{ 005 public static final int[] offsetX = new int[] {0, -1, 0, 1}; 006 public static final int[] offsetZ = new int[] {1, 0, -1, 0}; 007 public static final String[] directions = new String[] {"SOUTH", "WEST", "NORTH", "EAST"}; 008 009 /** Maps a Direction value (2D) to a Facing value (3D). */ 010 public static final int[] directionToFacing = new int[] {3, 4, 2, 5}; 011 012 /** Maps a Facing value (3D) to a Direction value (2D). */ 013 public static final int[] facingToDirection = new int[] { -1, -1, 2, 0, 1, 3}; 014 015 /** Maps a direction to that opposite of it. */ 016 public static final int[] rotateOpposite = new int[] {2, 3, 0, 1}; 017 018 /** Maps a direction to that to the right of it. */ 019 public static final int[] rotateRight = new int[] {1, 2, 3, 0}; 020 021 /** Maps a direction to that to the left of it. */ 022 public static final int[] rotateLeft = new int[] {3, 0, 1, 2}; 023 public static final int[][] bedDirection = new int[][] {{1, 0, 3, 2, 5, 4}, {1, 0, 5, 4, 2, 3}, {1, 0, 2, 3, 4, 5}, {1, 0, 4, 5, 3, 2}}; 024 025 /** 026 * Returns the movement direction from a velocity vector. 027 */ 028 public static int getMovementDirection(double par0, double par2) 029 { 030 return MathHelper.abs((float)par0) > MathHelper.abs((float)par2) ? (par0 > 0.0D ? 1 : 3) : (par2 > 0.0D ? 2 : 0); 031 } 032}