Skip to content

Commit 826288c

Browse files
committed
make crash code cooler
1 parent 1c1704e commit 826288c

File tree

1 file changed

+51
-8
lines changed

1 file changed

+51
-8
lines changed

src/main/java/com/falsepattern/lib/internal/CoreLoadingPlugin.java

Lines changed: 51 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,61 @@
1818
public class CoreLoadingPlugin implements IFMLLoadingPlugin {
1919
@Getter
2020
private static boolean obfuscated;
21+
22+
private static Error skillIssue(String message) {
23+
int width = message.length();
24+
String shutup = "Any bug reports concerning this message will be silently deleted.";
25+
int suWidth = shutup.length();
26+
int padding = width - suWidth;
27+
boolean padMSG = padding < 0;
28+
if (padMSG) {
29+
padding = -padding;
30+
}
31+
int padLeft = padding / 2;
32+
int padRight = padding - padLeft;
33+
int maxWidth = Math.max(width, suWidth);
34+
StringBuilder bld = new StringBuilder("\n\n");
35+
for (int i = 0; i < maxWidth + 2; i++) {
36+
bld.append('-');
37+
}
38+
bld.append("\n|");
39+
if (padMSG) {
40+
for (int i = 0; i < padLeft; i++) {
41+
bld.append(' ');
42+
}
43+
bld.append(message);
44+
for (int i = 0; i < padRight; i++) {
45+
bld.append(' ');
46+
}
47+
} else {
48+
bld.append(message);
49+
}
50+
bld.append("|\n|");
51+
if (!padMSG) {
52+
for (int i = 0; i < padLeft; i++) {
53+
bld.append(' ');
54+
}
55+
bld.append(shutup);
56+
for (int i = 0; i < padRight; i++) {
57+
bld.append(' ');
58+
}
59+
} else {
60+
bld.append(shutup);
61+
}
62+
bld.append("|\n");
63+
for (int i = 0; i < maxWidth + 2; i++) {
64+
bld.append('-');
65+
}
66+
val skillIssue = new Error(bld.toString());
67+
skillIssue.setStackTrace(new StackTraceElement[0]);
68+
return skillIssue;
69+
}
2170
static {
2271
try {
2372
Class.forName("thermos.Thermos");
24-
val iAmNotFixingThisDontEvenAskPlusSkillIssue =
25-
new Error("\n\n" +
26-
"--------------------------------------------------------------------------------\n" +
27-
"|Thermos is not supported by FalsePatternLib, please use a normal forge server.|\n" +
28-
"| Any bug reports concerning this message will be silently deleted. |\n" +
29-
"--------------------------------------------------------------------------------\n");
30-
iAmNotFixingThisDontEvenAskPlusSkillIssue.setStackTrace(new StackTraceElement[0]);
31-
throw iAmNotFixingThisDontEvenAskPlusSkillIssue;
73+
throw skillIssue("Thermos is not supported by FalsePatternLib, please use a normal forge server.");
3274
} catch (ClassNotFoundException ignored) {}
75+
3376
}
3477

3578
@Override

0 commit comments

Comments
 (0)