aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/events
diff options
context:
space:
mode:
authornextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com>2022-07-25 11:39:45 +0100
committerGitHub <noreply@github.com>2022-07-25 12:39:45 +0200
commit64329ad7ccedba53c47ccd3a08b9eb97e756122c (patch)
tree296b1972e61f80b21f501f30d2489a894a70c5df /src/main/java/cc/polyfrost/oneconfig/events
parent80d2e24958526c8274ed9c58e56e60ab1aaaf731 (diff)
downloadOneConfig-64329ad7ccedba53c47ccd3a08b9eb97e756122c.tar.gz
OneConfig-64329ad7ccedba53c47ccd3a08b9eb97e756122c.tar.bz2
OneConfig-64329ad7ccedba53c47ccd3a08b9eb97e756122c.zip
Config Checker (#67)
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/events')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/events/EventManager.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/events/EventManager.java b/src/main/java/cc/polyfrost/oneconfig/events/EventManager.java
index 8492806..4e43410 100644
--- a/src/main/java/cc/polyfrost/oneconfig/events/EventManager.java
+++ b/src/main/java/cc/polyfrost/oneconfig/events/EventManager.java
@@ -1,7 +1,10 @@
package cc.polyfrost.oneconfig.events;
+import cc.polyfrost.oneconfig.config.core.exceptions.InvalidTypeException;
import cc.polyfrost.oneconfig.libs.eventbus.EventBus;
+import cc.polyfrost.oneconfig.libs.eventbus.exception.ExceptionHandler;
import cc.polyfrost.oneconfig.libs.eventbus.invokers.LMFInvoker;
+import org.jetbrains.annotations.NotNull;
/**
* Manages all events from OneConfig.
@@ -11,7 +14,7 @@ public final class EventManager {
* The instance of the {@link EventManager}.
*/
public static final EventManager INSTANCE = new EventManager();
- private final EventBus eventBus = new EventBus(new LMFInvoker(), Throwable::printStackTrace);
+ private final EventBus eventBus = new EventBus(new LMFInvoker(), new OneConfigExceptionHandler());
private EventManager() {
@@ -55,4 +58,18 @@ public final class EventManager {
public void post(Object event) {
eventBus.post(event);
}
+
+
+ /**
+ * Bypass to allow special exceptions to actually crash
+ */
+ private static class OneConfigExceptionHandler implements ExceptionHandler {
+ @Override
+ public void handle(@NotNull Exception e) {
+ if(e instanceof InvalidTypeException) {
+ throw (InvalidTypeException) e;
+ }
+ else e.printStackTrace();
+ }
+ }
}