Utils/Bannerparser/src/main/java/eu/mikroskeem/utils/bannerparser/parsers/planetminecraft/PatternParser.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;
}
}
}