diff --git a/.github/workflows/do-build.yml b/.github/workflows/do-build.yml index 394c6e6..491baea 100644 --- a/.github/workflows/do-build.yml +++ b/.github/workflows/do-build.yml @@ -18,4 +18,4 @@ jobs: uses: actions/upload-artifact@v2 with: name: CoflSky-CI - path: build/libs/CoflMod-*-all.jar \ No newline at end of file + path: build/libs/SkyCofl-*-all.jar \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index c660ac2..29ed507 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,7 @@ plugins { } group = "de.torui.coflmod" -version = "1.5.5-alpha" +version = "1.5.6-alpha" // Toolchains: java { @@ -63,7 +63,7 @@ tasks.withType(JavaCompile::class) { } tasks.withType(Jar::class) { - archiveBaseName.set("CoflMod") + archiveBaseName.set("SkyCofl") manifest.attributes.run { this["FMLCorePluginContainsFMLMod"] = "true" this["ForceLoadAsMod"] = "true" diff --git a/settings.gradle.kts b/settings.gradle.kts index 4448199..843c3b2 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -18,4 +18,4 @@ pluginManagement { } } -rootProject.name = "CoflMod" \ No newline at end of file +rootProject.name = "SkyCofl" \ No newline at end of file diff --git a/src/main/java/de/torui/coflsky/CoflSky.java b/src/main/java/de/torui/coflsky/CoflSky.java index 5cbec15..7753997 100644 --- a/src/main/java/de/torui/coflsky/CoflSky.java +++ b/src/main/java/de/torui/coflsky/CoflSky.java @@ -29,7 +29,7 @@ @Mod(modid = CoflSky.MODID, version = CoflSky.VERSION) public class CoflSky { public static final String MODID = "CoflSky"; - public static final String VERSION = "1.5.5-Alpha"; + public static final String VERSION = "1.5.6-Alpha"; public static WSClientWrapper Wrapper; public static KeyBinding[] keyBindings; diff --git a/src/main/java/de/torui/coflsky/CoflSkyCommand.java b/src/main/java/de/torui/coflsky/CoflSkyCommand.java index 515dd73..5fab3a1 100644 --- a/src/main/java/de/torui/coflsky/CoflSkyCommand.java +++ b/src/main/java/de/torui/coflsky/CoflSkyCommand.java @@ -126,9 +126,9 @@ public void processCommand(ICommandSender sender, String[] args) throws CommandE CoflSky.Wrapper.stop(); sender.addChatMessage(new ChatComponentText("Opening connection to " + destination)); if (CoflSky.Wrapper.initializeNewSocket(destination)) { - sender.addChatMessage(new ChatComponentText("Success")); + sender.addChatMessage(new ChatComponentText("SkyCofl server is reachable, waiting for connection to be established")); } else { - sender.addChatMessage(new ChatComponentText("Could not open connection, please check the logs")); + sender.addChatMessage(new ChatComponentText("Could not open connection, please check the logs and report them on your Discord!")); } } else { sender.addChatMessage(new ChatComponentText("§cPleace specify a server to connect to")); @@ -187,7 +187,7 @@ public void processCommand(ICommandSender sender, String[] args) throws CommandE SendCommandToServer(args, sender); } } else { - ListHelp(sender); + SendCommandToServer("help", "general"); } }).start(); } @@ -195,11 +195,11 @@ public void processCommand(ICommandSender sender, String[] args) throws CommandE private void HandleReset() { CoflSky.Wrapper.SendMessage(new Command(CommandType.Reset, "")); CoflSky.Wrapper.stop(); - Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("Stopping Connection to CoflNet")); + Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("Stopping Connection to SkyCofl")); CoflSessionManager.DeleteAllCoflSessions(); - Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("Deleting CoflNet sessions...")); + Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("Deleting SkyCofl sessions...")); if (CoflSky.Wrapper.startConnection()) - Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("Started the Connection to CoflNet")); + Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("Started the Connection to SkyCofl")); } public String StatusMessage() { @@ -228,9 +228,11 @@ public String StatusMessage() { public void SendCommandToServer(String[] args, ICommandSender sender) { String command = String.join(" ", Arrays.copyOfRange(args, 1, args.length)); + SendCommandToServer(args[0], command); + } - //JsonStringCommand sc = new JsonStringCommand(args[0], WSClient.gson.toJson(command)); - RawCommand rc = new RawCommand(args[0], WSClient.gson.toJson(command)); + public void SendCommandToServer(string command, string arguments) { + RawCommand rc = new RawCommand(command, WSClient.gson.toJson(arguments)); if (CoflSky.Wrapper.isRunning) { CoflSky.Wrapper.SendMessage(rc); } else { diff --git a/src/main/java/de/torui/coflsky/handlers/EventHandler.java b/src/main/java/de/torui/coflsky/handlers/EventHandler.java index 52c7552..551a983 100644 --- a/src/main/java/de/torui/coflsky/handlers/EventHandler.java +++ b/src/main/java/de/torui/coflsky/handlers/EventHandler.java @@ -154,13 +154,13 @@ private static void ProcessTabMenu(String line) { } private static void checkIfInSkyblock(String s) { - if (s.contains("SKYBLOCK") && !isInSkyblock) { + if ((s.contains("SKYBLOCK") || s.contains("E")) && !isInSkyblock) { if (config.autoStart) { CoflSky.Wrapper.stop(); CoflSky.Wrapper.startConnection(); } isInSkyblock = true; - } else if (!s.contains("SKYBLOCK") && isInSkyblock) { + } else if (!s.contains("SKYBLOCK") && !s.contains("E") && isInSkyblock) { if (config.autoStart) { CoflSky.Wrapper.stop(); Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("connection to ") diff --git a/src/main/java/de/torui/coflsky/network/WSClient.java b/src/main/java/de/torui/coflsky/network/WSClient.java index 12543e0..3b468a4 100644 --- a/src/main/java/de/torui/coflsky/network/WSClient.java +++ b/src/main/java/de/torui/coflsky/network/WSClient.java @@ -46,7 +46,7 @@ public WSClient(URI uri) { } - public void start() throws IOException, WebSocketException, NoSuchAlgorithmException { + public synchronized void start() throws IOException, WebSocketException, NoSuchAlgorithmException { WebSocketFactory factory = new WebSocketFactory(); /*// Create a custom SSL context. @@ -70,7 +70,7 @@ public void start() throws IOException, WebSocketException, NoSuchAlgorithmExcep factory.*/ factory.setVerifyHostname(false); factory.setSSLContext(NaiveSSLContext.getInstance("TLSv1.2")); - factory.setConnectionTimeout(10*1000); + factory.setConnectionTimeout(5*1000); this.socket = factory.createSocket(uri); this.socket.addListener(this); this.socket.connect(); @@ -91,9 +91,13 @@ public void onStateChanged(WebSocket websocket, WebSocketState newState) throws System.out.println("WebSocket Changed state to: " + newState); currentState = newState; - if(newState == WebSocketState.CLOSED && shouldRun) { + boolean isActiveSocket = CoflSky.Wrapper.socket == this; + if(newState == WebSocketState.CLOSED && shouldRun && isActiveSocket) { CoflSky.Wrapper.restartWebsocketConnection(); } + if(!isActiveSocket){ + websocket.clearListeners(); + } super.onStateChanged(websocket, newState); } diff --git a/src/main/java/de/torui/coflsky/network/WSClientWrapper.java b/src/main/java/de/torui/coflsky/network/WSClientWrapper.java index 6e90455..b1ab73b 100644 --- a/src/main/java/de/torui/coflsky/network/WSClientWrapper.java +++ b/src/main/java/de/torui/coflsky/network/WSClientWrapper.java @@ -7,6 +7,7 @@ import java.util.UUID; import com.neovisionaries.ws.client.WebSocketException; +import com.neovisionaries.ws.client.WebSocketState; import de.torui.coflsky.CoflSky; import de.torui.coflsky.commands.Command; @@ -116,13 +117,11 @@ public boolean initializeNewSocket(String uriPrefix) { } - private synchronized boolean start() { - if(!isRunning) { + private boolean start() { + if(socket.currentState == WebSocketState.CLOSED) { try { - socket.start(); isRunning = true; - return true; } catch (IOException e) { // TODO Auto-generated catch block @@ -133,9 +132,11 @@ private synchronized boolean start() { } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); - } + } return false; - } + } else { + System.out.println("Status is " + socket.currentState); + } return false; } diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 0f74835..f5d8bb5 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -1,13 +1,13 @@ [ { "modid": "CoflSky", - "name": "CoflSky", - "description": "Example placeholder mod.", - "version": "${version}", + "name": "SkyCofl", + "description": "Marketdata in item lore", + "version": "1.5.6-Alpha", "mcversion": "${mcversion}", - "url": "", - "updateUrl": "", - "authorList": ["Torui"], + "url": "https://sky.coflnet.com/mod", + "updateUrl": "https://github.com/Coflnet/SkyblockMod/tags", + "authorList": ["Torui","Äkwav","Ragult","HackOS"], "credits": "Coflnet for comissioning this mod.", "logoFile": "", "screenshots": [],