diff --git a/.github/labels.yml b/.github/labels.yml new file mode 100644 index 0000000..b2323c2 --- /dev/null +++ b/.github/labels.yml @@ -0,0 +1,30 @@ +- name: priority:low + color: bfe5bf +- name: priority:medium + color: bfe5bf +- name: priority:high + color: bfe5bf +- name: status:accepted + color: fef2c0 +- name: status:unconfirmed + color: fef2c0 +- name: status:needs more info + color: fef2c0 +- name: status:rejected + color: fef2c0 +- name: status:under consideration + color: fef2c0 +- name: type:bug + color: f7c6c7 +- name: type:feature + color: f7c6c7 +- name: type:improvement + color: f7c6c7 +- name: type:question + color: f7c6c7 +- name: os:windows + color: "666699" +- name: os:mac + color: "666699" +- name: os:other + color: "666699" \ No newline at end of file diff --git a/README.md b/README.md index ef23a16..1c0bc4a 100644 --- a/README.md +++ b/README.md @@ -42,3 +42,7 @@ If you'd like to have either or both the client and the API in your project, use ``` **For the latest versions of our dependencies, please check our examples on [the Maven Repository](https://github.com/Parabot/Maven-Repository/tree/master/examples)** + + +#### Labels +Labels are created with [GHLabel](https://github.com/jimmycuadra/ghlabel), whereas the yml is located in the .github directory \ No newline at end of file diff --git a/pom.xml b/pom.xml index 8533745..9697eea 100755 --- a/pom.xml +++ b/pom.xml @@ -36,12 +36,6 @@ - - naga - naga - 1.0 - provided - javafx javafx diff --git a/src/main/java/org/parabot/core/Context.java b/src/main/java/org/parabot/core/Context.java index 8cfd7b7..acbe9c0 100644 --- a/src/main/java/org/parabot/core/Context.java +++ b/src/main/java/org/parabot/core/Context.java @@ -14,7 +14,6 @@ import org.parabot.environment.input.Keyboard; import org.parabot.environment.input.Mouse; import org.parabot.environment.scripts.Script; import org.parabot.environment.scripts.randoms.RandomHandler; -import org.parabot.environment.scripts.uliratha.UlirathaClient; import org.parabot.environment.servers.ServerProvider; import java.applet.Applet; @@ -49,7 +48,6 @@ public class Context { private Mouse mouse; private Keyboard keyboard; private ServerProviderInfo providerInfo; - private UlirathaClient ulirathaClient; private JSONParser jsonParser; private PrintStream defaultOut; @@ -354,14 +352,6 @@ public class Context { return username; } - public UlirathaClient getUlirathaClient() { - return ulirathaClient; - } - - public void setUlirathaClient(UlirathaClient ulirathaClient) { - this.ulirathaClient = ulirathaClient; - } - public static void setUsername(String username) { Context.username = username; } diff --git a/src/main/java/org/parabot/core/lib/naga/Naga.java b/src/main/java/org/parabot/core/lib/naga/Naga.java deleted file mode 100644 index 9154e7e..0000000 --- a/src/main/java/org/parabot/core/lib/naga/Naga.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.parabot.core.lib.naga; - -import org.parabot.core.Core; -import org.parabot.core.Directories; -import org.parabot.core.build.BuildPath; -import org.parabot.core.lib.Library; - -import java.io.File; -import java.net.URL; - -/** - * @author JKetelaar - */ -public class Naga extends Library { - - private static boolean valid; - - @Override - public void init() { - if (!hasJar()) { - System.err.println("Failed to load javafx... [jar missing]"); - return; - } - Core.verbose("Adding javafx jar file to build path: " - + getJarFileURL().getPath()); - BuildPath.add(getJarFileURL()); - - try { - Class.forName("javafx.application.Application"); - valid = true; - } catch (ClassNotFoundException e) { - System.err - .println("Failed to add javafx to build path, or incorrupt download"); - } - - Core.verbose("JavaFX initialized."); - } - - @Override - public boolean isAdded() { - return valid; - } - - @Override - public File getJarFile() { - return new File(Directories.getCachePath(), "naga.jar"); - } - - @Override - public URL getDownloadLink() { - try { - return new URL("http://bdn.parabot.org/api/v2/data/dependencies/naga"); - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } - - @Override - public boolean requiresJar() { - return true; - } - - @Override - public String getLibraryName() { - return "Naga"; - } - - public static boolean isValid() { - return valid; - } -} diff --git a/src/main/java/org/parabot/core/ui/Logger.java b/src/main/java/org/parabot/core/ui/Logger.java index b5d6636..640216c 100644 --- a/src/main/java/org/parabot/core/ui/Logger.java +++ b/src/main/java/org/parabot/core/ui/Logger.java @@ -1,8 +1,6 @@ package org.parabot.core.ui; -import org.parabot.core.Context; import org.parabot.core.ui.components.GamePanel; -import org.parabot.environment.scripts.uliratha.UlirathaClient; import javax.swing.*; import java.awt.*; @@ -63,10 +61,7 @@ public class Logger extends JPanel { instance.model.addElement(message); if (uliratha){ - UlirathaClient client; - if ((client = Context.getInstance().getUlirathaClient()) != null) { - client.sendMessage(message); - } + // TODO: Implement latest Uliratha } int last = instance.list.getModel().getSize() - 1; diff --git a/src/main/java/org/parabot/environment/Environment.java b/src/main/java/org/parabot/environment/Environment.java index 7964123..e17d0fd 100644 --- a/src/main/java/org/parabot/environment/Environment.java +++ b/src/main/java/org/parabot/environment/Environment.java @@ -4,7 +4,6 @@ import org.parabot.core.Core; import org.parabot.core.desc.ServerDescription; import org.parabot.core.lib.Library; import org.parabot.core.lib.javafx.JavaFX; -import org.parabot.core.lib.naga.Naga; import org.parabot.core.parsers.servers.ServerParser; import org.parabot.core.ui.components.VerboseLoader; import org.parabot.environment.api.utils.WebUtil; @@ -30,7 +29,6 @@ public class Environment { LinkedList libs = new LinkedList<>(); libs.add(new JavaFX()); - libs.add(new Naga()); for(Library lib : libs) { if (lib.requiresJar()) { diff --git a/src/main/java/org/parabot/environment/scripts/Script.java b/src/main/java/org/parabot/environment/scripts/Script.java index 971d296..5fdd485 100644 --- a/src/main/java/org/parabot/environment/scripts/Script.java +++ b/src/main/java/org/parabot/environment/scripts/Script.java @@ -123,11 +123,6 @@ public class Script implements Runnable { this.state = STATE_STOPPED; context.setRunningScript(null); - if (context.getUlirathaClient() != null) { - context.getUlirathaClient().disconnect(); - context.setUlirathaClient(null); - } - BotUI.getInstance().toggleRun(); Core.verbose("Done."); } diff --git a/src/main/java/org/parabot/environment/scripts/executers/BDNScriptsExecuter.java b/src/main/java/org/parabot/environment/scripts/executers/BDNScriptsExecuter.java index e29b450..fdfc199 100644 --- a/src/main/java/org/parabot/environment/scripts/executers/BDNScriptsExecuter.java +++ b/src/main/java/org/parabot/environment/scripts/executers/BDNScriptsExecuter.java @@ -8,7 +8,6 @@ import org.parabot.core.ui.utils.UILog; import org.parabot.environment.api.utils.WebUtil; import org.parabot.environment.scripts.Script; import org.parabot.environment.scripts.loader.JavaScriptLoader; -import org.parabot.environment.scripts.uliratha.UlirathaExecuter; import javax.swing.*; import java.lang.reflect.Constructor; @@ -77,9 +76,6 @@ public class BDNScriptsExecuter extends ScriptExecuter { script.setScriptID(this.id); super.finalize(tg, script); - if (manager.getAccount().getApi() != null) { - new UlirathaExecuter(manager.getAccount().getApi()).start(this.id); - } } catch (NoClassDefFoundError | ClassNotFoundException ignored) { UILog.log("Error", "Failed to load BDN script, error: [This server provider does not support this script]", JOptionPane.ERROR_MESSAGE); } catch (Throwable t) { diff --git a/src/main/java/org/parabot/environment/scripts/uliratha/UlirathaClient.java b/src/main/java/org/parabot/environment/scripts/uliratha/UlirathaClient.java deleted file mode 100644 index 0ef0083..0000000 --- a/src/main/java/org/parabot/environment/scripts/uliratha/UlirathaClient.java +++ /dev/null @@ -1,158 +0,0 @@ -package org.parabot.environment.scripts.uliratha; - -import naga.ExceptionObserver; -import naga.NIOService; -import naga.NIOSocket; -import naga.SocketObserver; -import naga.packetreader.RegularPacketReader; -import naga.packetwriter.RegularPacketWriter; -import org.parabot.core.ui.Logger; - -import java.io.*; - -/** - * @author JKetelaar - */ - -public class UlirathaClient extends Thread { - - private String host; - private int port; - private NIOSocket socket; - private boolean connected; - private int scriptID; - private String api; - private boolean valid; - - public UlirathaClient(String host, int port, int scriptID, String api) { - this.host = host; - this.port = port; - this.scriptID = scriptID; - this.api = api; - } - - @Override - public void run() { - connect(); - } - - private void connect() { - try { - NIOService service = new NIOService(); - service.setExceptionObserver(new ExceptionObserver() { - @Override - public void notifyExceptionThrown(Throwable throwable) { - throwable.printStackTrace(); - if (valid) { - reconnect(); - connected = false; - } - } - }); - socket = service.openSocket(host, port); - socket.setPacketReader(new RegularPacketReader(4, true)); - socket.setPacketWriter(new RegularPacketWriter(4, true)); - socket.listen(new SocketObserver() { - public void connectionOpened(NIOSocket nioSocket) { - try { - sendObjects(nioSocket, new Object[]{76, scriptID, api}); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public void packetReceived(NIOSocket socket, byte[] packet) { - try { - DataInputStream stream = new DataInputStream(new ByteArrayInputStream(packet)); - int packetID = stream.readInt(); - - switch (packetID){ - case 75: - valid = stream.readBoolean(); - if (valid) { - Logger.addMessage("We're connected with the Uliratha server!", false); - connected = true; - }else{ - socket.close(); - } - break; - } - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public void packetSent(NIOSocket nioSocket, Object o) { - - } - - public void connectionBroken(NIOSocket nioSocket, Exception exception) { - if (valid) { - Logger.addMessage("We lost connection with the Uliratha server, reconnecting...", false); - reconnect(); - connected = false; - }else{ - Logger.addMessage("We're disconnected from the Uliratha server", false); - } - } - }); - while (true) { - service.selectBlocking(); - } - } catch (IOException e) { - if (valid) { - reconnect(); - connected = false; - } - } - } - - private void reconnect() { - try { - Thread.sleep(5000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - connect(); - } - - public boolean isConnected() { - return connected; - } - - public void disconnect(){ - valid = false; - socket.close(); - } - - private void sendObjects(NIOSocket socket, Object[] objects) throws IOException { - ByteArrayOutputStream stream = new ByteArrayOutputStream(); - DataOutputStream dataStream = new DataOutputStream(stream); - for (Object o : objects) { - if (o instanceof String) { - dataStream.writeUTF((String) o); - } else if (o instanceof Integer) { - dataStream.writeInt((Integer) o); - } else if (o instanceof byte[]) { - dataStream.write((byte[]) o); - } else if (o instanceof Long) { - dataStream.writeLong((Long) o); - } else if (o instanceof Boolean) { - dataStream.writeBoolean((Boolean) o); - } - } - dataStream.flush(); - final byte[] content = stream.toByteArray(); - dataStream.close(); - socket.write(content); - } - - public void sendMessage(String message){ - try { - sendObjects(socket, new Object[]{83, message}); - } catch (IOException e) { - e.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/src/main/java/org/parabot/environment/scripts/uliratha/UlirathaExecuter.java b/src/main/java/org/parabot/environment/scripts/uliratha/UlirathaExecuter.java deleted file mode 100644 index 47cfc5e..0000000 --- a/src/main/java/org/parabot/environment/scripts/uliratha/UlirathaExecuter.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.parabot.environment.scripts.uliratha; - -import org.json.simple.JSONObject; -import org.json.simple.parser.JSONParser; -import org.json.simple.parser.ParseException; -import org.parabot.core.Context; -import org.parabot.environment.api.utils.WebUtil; - -import java.io.IOException; - -/** - * @author JKetelaar - */ -public class UlirathaExecuter { - - private String api; - private static boolean isVip = true; - - public UlirathaExecuter(String api){ - this.api = api; - } - - public void start(int scriptID){ - if (UlirathaExecuter.isVip) { - String vipUrl = "http://bdn.parabot.org/api/v2/user/" + api + "/vip"; - JSONParser parser = new JSONParser(); - try { - JSONObject vipObject = (JSONObject) parser.parse(WebUtil.getReader(vipUrl)); - - boolean isVip = (boolean) vipObject.get("result"); - if (isVip) { - String serverUrl = "http://bdn.parabot.org/api/v2/clients/server"; - JSONObject serverObject = (JSONObject) parser.parse(WebUtil.getReader(serverUrl)); - JSONObject detailsObject = (JSONObject) serverObject.get("result"); - String host = (String) detailsObject.get("host"); - long port = (long) detailsObject.get("port"); - - UlirathaClient client = new UlirathaClient(host, (int) port, scriptID, api); - client.start(); - Context.getInstance().setUlirathaClient(client); - }else{ - UlirathaExecuter.isVip = false; - } - } catch (IOException | ParseException | ClassCastException e) { - e.printStackTrace(); - } - } - } -}