/******************************************************************************* * Copyright (C) 2013 JMaNGOS <http://jmangos.org/> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. ******************************************************************************/ package org.jmangos.commons.enums; /** * The Enum MovementFlags. */ public enum MovementFlags { /** The NONE. */ NONE(0), /** The FORWARD. */ FORWARD(1 << 0), /** The BACKWARD. */ BACKWARD(1 << 1), /** The STRAFE_LEFT. */ STRAFE_LEFT(1 << 2), /** The STRAFE_RIGHT. */ STRAFE_RIGHT(1 << 3), /** The TURN_LEFT. */ TURN_LEFT(1 << 4), /** The TURN_RIGHT. */ TURN_RIGHT(1 << 5), /** The PITCH_UP. */ PITCH_UP(1 << 6), /** The PITCH_DOWN. */ PITCH_DOWN(1 << 7), /** The WALK_MODE. */ WALK_MODE(1 << 8), /** The ONTRANSPORT. */ ONTRANSPORT(1 << 9), /** The LEVITATING. */ LEVITATING(1 << 10), /** The ROOT. */ ROOT(1 << 11), /** The FALLING. */ FALLING(1 << 12), /** The FALLINGFAR. */ FALLINGFAR(1 << 13), /** The PENDINGSTOP. */ PENDINGSTOP(1 << 14), /** The PENDINGSTRAFESTOP. */ PENDINGSTRAFESTOP(1 << 15), /** The PENDINGFORWARD. */ PENDINGFORWARD(1 << 16), /** The PENDINGBACKWARD. */ PENDINGBACKWARD(1 << 17), /** The PENDINGSTRAFELEFT. */ PENDINGSTRAFELEFT(1 << 18), /** The PENDINGSTRAFERIGHT. */ PENDINGSTRAFERIGHT(1 << 19), /** The PENDINGROOT. */ PENDINGROOT(1 << 20), /** The SWIMMING. */ SWIMMING(1 << 21), /** The ASCENDING. */ ASCENDING(1 << 22), /** The DESCENDING. */ DESCENDING(1 << 23), /** The CAN_FLY. */ CAN_FLY(1 << 24), /** The MOVEFLA FLYING. */ FLYING(1 << 25), /** The MOVEFLA SPLINE_ELEVATION. */ SPLINE_ELEVATION(1 << 26), /** The MOVEFLA SPLINE_ENABLED. */ SPLINE_ENABLED(1 << 27), /** The WATERWALKING. */ WATERWALKING(1 << 28), /** The SAFE_FALL. */ SAFE_FALL(1 << 29), /** The HOVER. */ HOVER(1 << 30); /** The value. */ private int value; /** * Instantiates a new movement flags. * * @param flag * the flag */ MovementFlags(final int flag) { setValue(flag); } /** * Sets the value. * * @param value * the new value */ public void setValue(final int value) { this.value = value; } /** * Gets the value. * * @return the value */ public int getValue() { return this.value; } public boolean contains(final int val) { return ((getValue() & val) == getValue()); } }