fix event

This commit is contained in:
liujiahua123123 2019-08-11 18:08:55 +08:00
parent 88ffeb5a3b
commit 7c1cba29a0
5 changed files with 84 additions and 13 deletions

View File

@ -14,9 +14,5 @@ public final class MiraiMain {
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
server.shutdown();
}));
server.getTaskManager().repeatingTask(() -> {
System.out.println(3);
},1000,5);
}
}

View File

@ -6,20 +6,39 @@ import net.mamoe.mirai.event.events.server.ServerDisableEvent;
import net.mamoe.mirai.event.events.server.ServerEnableEvent;
import net.mamoe.mirai.network.Network;
import net.mamoe.mirai.task.MiraiTaskManager;
import net.mamoe.mirai.utils.LoggerTextFormat;
import net.mamoe.mirai.utils.MiraiLogger;
import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
public class MiraiServer {
@Getter
private static MiraiServer instance;
@Getter //mirai version
private final static String miraiVersion = "1.0.0";
@Getter //is running under UNIX
private boolean unix;
@Getter//file path
private File parentFolder;
@Getter
MiraiEventManager eventManager;
@Getter
MiraiTaskManager taskManager;
@Getter
MiraiLogger logger;
protected MiraiServer(){
instance = this;
this.onLoad();
Thread.yield();
this.onEnable();
}
@ -32,17 +51,19 @@ public class MiraiServer {
}
@Getter
MiraiEventManager eventManager;
@Getter
MiraiTaskManager taskManager;
private void onLoad(){
this.parentFolder = new File(System.getProperty("user.dir"));
this.unix = !System.getProperties().getProperty("os.name").toUpperCase().contains("WINDOWS");
this.logger = MiraiLogger.getInstance();
this.eventManager = MiraiEventManager.getInstance();
this.taskManager = MiraiTaskManager.getInstance();
this.getLogger().log(LoggerTextFormat.SKY_BLUE + "About to run Mirai" + MiraiServer.getMiraiVersion() + " under " + (isUnix()?"unix":"windows") );
this.getLogger().log("Loading data under " + this.parentFolder);
/*
try {
Network.start(Network.getAvailablePort());

View File

@ -78,9 +78,7 @@ public class MiraiEventManager {
public void boardcastEvent(MiraiEvent event){
hooksLock.lock();
System.out.println(hooks);
if(hooks.containsKey(event.getClass())){
System.out.println(hooks.get(event.getClass()).size());
hooks.put(event.getClass(),
hooks.get(event.getClass())
.stream()

View File

@ -0,0 +1,25 @@
package net.mamoe.mirai.utils;
import net.mamoe.mirai.MiraiServer;
public enum LoggerTextFormat {
RED("\033[31m"),
GREEN("\033[32m"),
YELLOW("\033[33m"),
BLUE("\033[34m"),
SKY_BLUE("\033[36m"),
RESET("\33[0m");
private String format;
LoggerTextFormat(String format) {
this.format = format;
}
@Override
public String toString() {
if(MiraiServer.getInstance().isUnix()){
return format;
}
return "";
}
}

View File

@ -0,0 +1,31 @@
package net.mamoe.mirai.utils;
import net.mamoe.mirai.MiraiServer;
import net.mamoe.mirai.task.MiraiTaskManager;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MiraiLogger {
private static MiraiLogger instance;
public static MiraiLogger getInstance(){
if(MiraiLogger.instance == null){
MiraiLogger.instance = new MiraiLogger();
}
return MiraiLogger.instance;
}
public void log(Object o){
this.log(o.toString());
}
public void log(String s){
System.out.println("[" + new SimpleDateFormat("MM-dd HH:mm:ss").format(new Date()) + "] Mirai: " + s + LoggerTextFormat.RESET);
}
}