package org.bukkit; /** * An enum to specify a rotation based orientation, like that on a clock. * It represents how something is viewed, as opposed to cardinal directions. */ public enum Rotation { /** * No rotation */ NONE, /** * Rotated clockwise by 90 degrees */ CLOCKWISE, /** * Flipped upside-down, a 180 degree rotation */ FLIPPED, /** * Rotated counter-clockwise by 90 degrees */ COUNTER_CLOCKWISE, ; private static final Rotation [] rotations = values(); /** * Rotate clockwise by 90 degrees. * * @return the relative rotation */ public Rotation rotateClockwise() { return rotations[(this.ordinal() + 1) & 0x3]; } /** * Rotate counter-clockwise by 90 degrees. * * @return the relative rotation */ public Rotation rotateCounterClockwise() { return rotations[(this.ordinal() - 1) & 0x3]; } }