/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.common.blocks.tracks;
public enum EnumTrackMeta {
/**
* meta = 0
*/
NORTH_SOUTH,
/**
* meta = 1
*/
EAST_WEST,
/**
* meta = 2
*/
EAST_SLOPE,
/**
* meta = 3
*/
WEST_SLOPE,
/**
* meta = 4
*/
NORTH_SLOPE,
/**
* meta = 5
*/
SOUTH_SLOPE,
/**
* meta = 6
*/
EAST_SOUTH_CORNER,
/**
* meta = 7
*/
WEST_SOUTH_CORNER,
/**
* meta = 8
*/
WEST_NORTH_CORNER,
/**
* meta = 9
*/
EAST_NORTH_CORNER;
private static final EnumTrackMeta[] VALUES = values();
public boolean isEqual(int meta) {
if (ordinal() == meta) {
return true;
}
return false;
}
public static EnumTrackMeta fromMeta(int meta) {
if (meta < 0 || meta >= VALUES.length) {
meta = 0;
}
return VALUES[meta];
}
public boolean isStraightTrack() {
return ordinal() < 6;
}
public boolean isEastWestTrack() {
return this == EAST_WEST || this == EAST_SLOPE || this == WEST_SLOPE;
}
public boolean isNorthSouthTrack() {
return this == NORTH_SOUTH || this == NORTH_SLOPE || this == SOUTH_SLOPE;
}
public boolean isSlopeTrack() {
return ordinal() > 1 && ordinal() < 6;
}
}