77 lines
1.9 KiB
Java
77 lines
1.9 KiB
Java
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;
|
|
}
|
|
}
|
|
}
|