diff --git a/build.gradle b/build.gradle index 8f4e1ca..83888c8 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group = 'com.springwater.easybot' -version = '2.1.2' +version = '2.1.3' repositories { mavenCentral() @@ -60,7 +60,7 @@ tasks.build.dependsOn(tasks.shadowJar) dependencies { compileOnly "org.spigotmc:spigot-api:1.13.2-R0.1-SNAPSHOT" - implementation 'com.springwater.easybot:easybot-bridge:1.5' + implementation 'com.springwater.easybot:easybot-bridge:1.7-rc.1' implementation 'org.javassist:javassist:3.28.0-GA' implementation 'bot.inker.acj:runtime:1.5' implementation 'org.reflections:reflections:0.10.2' diff --git a/src/main/java/com/springwater/easybot/Easybot.java b/src/main/java/com/springwater/easybot/Easybot.java index c92985a..b6f6e63 100644 --- a/src/main/java/com/springwater/easybot/Easybot.java +++ b/src/main/java/com/springwater/easybot/Easybot.java @@ -292,23 +292,6 @@ public void runTask(Runnable task) { } } - @EventHandler - public void onServerStarted(ServerLoadEvent event) { - if (event.getType() == ServerLoadEvent.LoadType.STARTUP) { - boolean useNativeRcon = getConfig().getBoolean("adapter.native_rcon.use_native_rcon", false); - if (!useNativeRcon) return; - Thread rconThread = new Thread(() -> { - try { - getLogger().info("10s后启动原生RCON,请耐心等待!"); - Thread.sleep(10000); - } catch (InterruptedException ignored) { - } - restartNativeRcon(); - }, "EasyBot-Rcon-Thread"); - rconThread.start(); - } - } - private void restartNativeRcon() { try { boolean useNativeRcon = getConfig().getBoolean("adapter.native_rcon.use_native_rcon", false); diff --git a/src/main/java/com/springwater/easybot/api/CommandApi.java b/src/main/java/com/springwater/easybot/api/CommandApi.java index d3cc310..cfcc805 100644 --- a/src/main/java/com/springwater/easybot/api/CommandApi.java +++ b/src/main/java/com/springwater/easybot/api/CommandApi.java @@ -29,6 +29,7 @@ public CommandApi() throws IllegalAccessException { if (useNativeRcon) { nativeRcon = new NativeRcon(); Easybot.instance.getLogger().info("命令接口初始化成功 [原生RCON接口]"); + startNativeRcon(); return; } @@ -63,8 +64,13 @@ private static Class getRconConsoleSourceClassPath() throws ClassNotFoundExce throw new ClassNotFoundException("Can not find RconConsoleSource class path"); } - public void startNativeRcon() throws AuthenticationException, IOException { - nativeRcon.start(); + public void startNativeRcon() { + new Thread(() -> { + try { + nativeRcon.start(); + } catch (Exception ignored) { + } + }).start(); } public void closeNativeRcon() { diff --git a/src/main/java/com/springwater/easybot/event/PlayerEvents.java b/src/main/java/com/springwater/easybot/event/PlayerEvents.java index 4911d94..105107a 100644 --- a/src/main/java/com/springwater/easybot/event/PlayerEvents.java +++ b/src/main/java/com/springwater/easybot/event/PlayerEvents.java @@ -15,7 +15,7 @@ public void onPlayerLogin(AsyncPlayerPreLoginEvent event) { if(FakePlayerUtils.isFake(event.getName())) return; String ip = event.getAddress().getHostAddress(); String name = GeyserUtils.getName(event.getUniqueId()); - if (name == null) name = event.getPlayerProfile().getName(); + if (name == null) name = event.getName(); Easybot.getClient().reportPlayer(name, GeyserUtils.getUuid(event.getUniqueId()).toString(), ip); PlayerLoginResultPacket result = Easybot.getClient().login( name, diff --git a/src/main/java/com/springwater/easybot/utils/ItemsAdderUtils.java b/src/main/java/com/springwater/easybot/utils/ItemsAdderUtils.java index e2d2fc8..a9a826b 100644 --- a/src/main/java/com/springwater/easybot/utils/ItemsAdderUtils.java +++ b/src/main/java/com/springwater/easybot/utils/ItemsAdderUtils.java @@ -14,18 +14,22 @@ public static boolean isItemsAdderInstalled() { } public static boolean isQFacesInstalled() { - if(!isItemsAdderInstalled()){ + try { + if (!isItemsAdderInstalled()) { + return false; + } + return new FontImageWrapper("qqnt_sysface_res:qface_0").exists(); + } catch (Exception ignored) { return false; } - return new FontImageWrapper("qqnt_sysface_res:qface_0").exists(); } public static String getFace(int faceId) { - if(!isQFacesInstalled()){ + if (!isQFacesInstalled()) { return ""; } FontImageWrapper warper = new FontImageWrapper("qqnt_sysface_res:qface_" + faceId); - if(!warper.exists()){ + if (!warper.exists()) { return null; } return warper.getString();