/
CrashHandler.java
62 lines (53 loc) · 1.38 KB
/
CrashHandler.java
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package mantle.pulsar.internal;
import mantle.pulsar.control.PulseManager;
import mantle.pulsar.pulse.PulseMeta;
import net.minecraftforge.fml.common.ICrashCallable;
/**
* FML crash callable for Pulse Managers; dumps a list of loaded pulses to the error log.
*
* @author Arkan <arkan@drakon.io>
*/
public class CrashHandler implements ICrashCallable
{
private String id;
private PulseManager manager;
public CrashHandler(String modId, PulseManager manager)
{
this.id = "Pulsar/" + modId + " loaded Pulses";
this.manager = manager;
}
@Override
public String getLabel()
{
return this.id;
}
@Override
public String call() throws Exception
{
String out = "\n";
for (PulseMeta meta : this.manager.getAllPulseMetadata())
{
String state = getStateFromMeta(meta);
out += "\t\t- " + meta.getId() + " (" + state + ")\n"; // Yes, yes, manual indenting, I know...
}
return out;
}
private static String getStateFromMeta(PulseMeta meta)
{
if (meta.isForced())
{
return "Enabled/Forced";
}
else
{
if (meta.isEnabled())
{
return "Enabled/Not Forced";
}
else
{
return "Disabled/Not Forced";
}
}
}
}