geforkt von Mirrors/Paper
086b2ecbdc
As well as adding methods for ItemFrames, this moves some methods previously contained in Painting to Hanging, as they are shared by both classes. An enum was added that represents rotations, similar to a clock-face. This is needed as a contrast to cardinal direction based rotations. By: h31ix <effectsdude@gmail.com>
46 Zeilen
966 B
Java
46 Zeilen
966 B
Java
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];
|
|
}
|
|
}
|