diff --git a/bootstrap/geyser/src/main/java/com/rtm516/mcxboxbroadcast/bootstrap/geyser/MCXboxBroadcastExtension.java b/bootstrap/geyser/src/main/java/com/rtm516/mcxboxbroadcast/bootstrap/geyser/MCXboxBroadcastExtension.java index 2cfdb4f..da0b4eb 100644 --- a/bootstrap/geyser/src/main/java/com/rtm516/mcxboxbroadcast/bootstrap/geyser/MCXboxBroadcastExtension.java +++ b/bootstrap/geyser/src/main/java/com/rtm516/mcxboxbroadcast/bootstrap/geyser/MCXboxBroadcastExtension.java @@ -100,7 +100,7 @@ private void restart() { sessionManager = new SessionManager(this.dataFolder().toString(), logger); // Pull onto another thread so we don't hang the main thread - new Thread(this::createSession); + sessionManager.scheduledThread().execute(this::createSession); } @Subscribe @@ -112,7 +112,7 @@ public void onPostInitialize(GeyserPostInitializeEvent event) { config = ConfigLoader.load(this, MCXboxBroadcastExtension.class, ExtensionConfig.class); // Pull onto another thread so we don't hang the main thread - new Thread(() -> { + sessionManager.scheduledThread().execute(() -> { // Get the ip to broadcast String ip = config.remoteAddress(); if (ip.equals("auto")) { @@ -152,7 +152,7 @@ public void onPostInitialize(GeyserPostInitializeEvent event) { sessionInfo.setPort(port); createSession(); - }).start(); + }); } private void createSession() { diff --git a/core/src/main/java/com/rtm516/mcxboxbroadcast/core/SessionManager.java b/core/src/main/java/com/rtm516/mcxboxbroadcast/core/SessionManager.java index da3c145..801b828 100644 --- a/core/src/main/java/com/rtm516/mcxboxbroadcast/core/SessionManager.java +++ b/core/src/main/java/com/rtm516/mcxboxbroadcast/core/SessionManager.java @@ -94,7 +94,7 @@ public void init(SessionInfo sessionInfo, FriendSyncConfig friendSyncConfig) thr // Create the sub-sessions in a new thread so we don't block the main thread List finalSubSessions = subSessions; - new Thread(() -> { + scheduledThreadPool.execute(() -> { // Create the sub-session manager for each sub-session for (String subSession : finalSubSessions) { try { @@ -107,7 +107,7 @@ public void init(SessionInfo sessionInfo, FriendSyncConfig friendSyncConfig) thr // TODO Retry creation after 30s or so } } - }).start(); + }); } @Override