blob: 761f1147c350202ee00be067d10409a6f591538d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
package makamys.neodymium.config;
import net.minecraftforge.common.config.ConfigElement;
import net.minecraftforge.common.config.Property;
public class HumanReadableConfigElement extends ConfigElement {
public HumanReadableConfigElement(Property prop) {
super(prop);
}
@Override
public String getName() {
return decamelize(super.getName());
}
private static String decamelize(String s) {
boolean[] spaceField = new boolean[s.length()];
for(int i = 0; i < s.length(); i++) {
if(i > 0 && i < s.length() && !Character.isUpperCase(s.charAt(i - 1)) && Character.isUpperCase(s.charAt(i))) {
spaceField[i] = true;
} else if(i > 2 && Character.isUpperCase(s.charAt(i - 2)) && Character.isUpperCase(s.charAt(i - 1)) && !Character.isUpperCase(s.charAt(i))) {
spaceField[i - 1] = true;
}
}
String out = "";
for(int i = 0; i < s.length(); i++) {
if(spaceField[i]) {
out += " ";
}
out += i == 0 ? Character.toUpperCase(s.charAt(i)) : s.charAt(i);
}
return out;
}
}
|