package eu.mikroskeem.utils.bannerparser.parsers.planetminecraft; import eu.mikroskeem.utils.bannerparser.IntegerFromString; import org.bukkit.block.banner.PatternType; import static org.bukkit.block.banner.PatternType.*; class PatternParser { static PatternType valueOf(String a) { try { /* Test for integer value first */ String name = IntegerFromString.valueOf(Integer.valueOf(a)); return PatternEnum.valueOf(name).getPattern(); } catch (NumberFormatException e){ /* Return by string identifier */ return PatternEnum.valueOf(a).getPattern(); } } @SuppressWarnings("unused") private enum PatternEnum { o(STRIPE_BOTTOM), v(STRIPE_TOP), s(STRIPE_LEFT), u(STRIPE_RIGHT), t(STRIPE_MIDDLE), p(STRIPE_CENTER), r(STRIPE_DOWNRIGHT), q(STRIPE_DOWNLEFT), SEVEN(CROSS), i(STRIPE_SMALL), n(STRAIGHT_CROSS), a(DIAGONAL_RIGHT_MIRROR), NINE(DIAGONAL_LEFT), A(DIAGONAL_LEFT_MIRROR), B(DIAGONAL_RIGHT), e(HALF_VERTICAL), E(HALF_VERTICAL_MIRROR), d(HALF_HORIZONTAL), D(HALF_HORIZONTAL_MIRROR), j(SQUARE_BOTTOM_LEFT), k(SQUARE_BOTTOM_RIGHT), l(SQUARE_TOP_LEFT), m(SQUARE_TOP_RIGHT), y(TRIANGLE_BOTTOM), z(TRIANGLE_TOP), w(TRIANGLES_BOTTOM), x(TRIANGLES_TOP), FIVE(CIRCLE_MIDDLE), g(RHOMBUS_MIDDLE), THREE(BORDER), EIGHT(CURLY_BORDER), FOUR(BRICKS), SIX(CREEPER), h(SKULL), b(FLOWER), f(MOJANG), c(GRADIENT), C(GRADIENT_UP); private PatternType type; PatternEnum(PatternType type) { this.type = type; } public PatternType getPattern() { return type; } } }