diff --git a/mirai-core/src/main/java/net/mamoe/mirai/MiraiMain.java b/mirai-core/src/main/java/net/mamoe/mirai/MiraiMain.java index 1fb7004f6..59f1b06ed 100644 --- a/mirai-core/src/main/java/net/mamoe/mirai/MiraiMain.java +++ b/mirai-core/src/main/java/net/mamoe/mirai/MiraiMain.java @@ -1,6 +1,9 @@ package net.mamoe.mirai; +import net.mamoe.mirai.event.MiraiEventHook; +import net.mamoe.mirai.event.events.server.ServerDisableEvent; + /** * @author Him188moe @ Mirai Project */ @@ -11,5 +14,9 @@ public final class MiraiMain { Runtime.getRuntime().addShutdownHook(new Thread(() -> { server.shutdown(); })); + server.getEventManager().register( + new MiraiEventHook<>(ServerDisableEvent.class) + .setHandler(a -> System.out.println("close")) + ); } } diff --git a/mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEventManager.java b/mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEventManager.java index f3d354f41..7df4e2ae4 100644 --- a/mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEventManager.java +++ b/mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEventManager.java @@ -41,6 +41,12 @@ public class MiraiEventManager { this.registerUntil(hook,(a) -> false); } + public MiraiEventHook onEvent(Class event){ + MiraiEventHook hook = new MiraiEventHook<>(event); + this.register(hook); + return hook; + } + public void boardcastEvent(MiraiEvent event){ hooksLock.lock(); if(hooks.containsKey(event.getClass())){