From e5df44b54fa936081b4fed641cb8a39aa7694251 Mon Sep 17 00:00:00 2001 From: Emma Stone Date: Mon, 13 Feb 2017 22:26:58 +0000 Subject: [PATCH 01/15] [BUGFIX] Replaced the output to verbose only --- .../org/parabot/core/asm/redirect/SystemRedirect.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/parabot/core/asm/redirect/SystemRedirect.java b/src/main/java/org/parabot/core/asm/redirect/SystemRedirect.java index 5ddfe88..1e2e763 100644 --- a/src/main/java/org/parabot/core/asm/redirect/SystemRedirect.java +++ b/src/main/java/org/parabot/core/asm/redirect/SystemRedirect.java @@ -1,5 +1,6 @@ package org.parabot.core.asm.redirect; +import org.parabot.core.Core; import org.parabot.core.Directories; import java.io.InputStream; @@ -33,7 +34,8 @@ public class SystemRedirect { value = System.getProperty(s); break; } - System.out.printf("GetSystemProp %s = %s\n", s, value); + + Core.verbose(String.format("GetSystemProp %s = %s\n", s, value)); return value; } @@ -55,7 +57,8 @@ public class SystemRedirect { break; } } - System.out.printf("GetSystemProp %s = %s\n", s, value); + + Core.verbose(String.format("GetSystemProp %s = %s\n", s, value)); return value; } @@ -64,12 +67,12 @@ public class SystemRedirect { } public static String setProperty(String s1, String s2) { - System.out.printf("SetSystemProp %s = %s\n", s1, s2); + Core.verbose(String.format("SetSystemProp %s = %s\n", s1, s2)); return System.setProperty(s1, s2); } public static String getenv(String string) { - System.out.printf("getEnv %s = %s\n", string, System.getenv(string)); + Core.verbose(String.format("getEnv %s = %s\n", string, System.getenv(string))); return System.getenv(string); } From 3b2d544310a433424abda1a73bb1406087cee194 Mon Sep 17 00:00:00 2001 From: Emma Stone Date: Wed, 15 Feb 2017 22:22:05 +0000 Subject: [PATCH 02/15] [BUGFIX] Keep Tools menu Related to issue #183. --- src/main/java/org/parabot/core/Context.java | 1 - src/main/java/org/parabot/core/ui/BotUI.java | 36 +++++++++++++--- .../servers/executers/ServerExecuter.java | 43 +++++++++---------- 3 files changed, 49 insertions(+), 31 deletions(-) diff --git a/src/main/java/org/parabot/core/Context.java b/src/main/java/org/parabot/core/Context.java index a880890..3aa335d 100644 --- a/src/main/java/org/parabot/core/Context.java +++ b/src/main/java/org/parabot/core/Context.java @@ -164,7 +164,6 @@ public class Context { * Loads the game */ public void load() { - BotUI.getInstance().getJMenuBar().remove(2); Core.verbose(TranslationHelper.translate("PARSING_SERVER_JAR")); serverProvider.init(); serverProvider.parseJar(); diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 8ec5532..67c98d8 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -34,9 +34,12 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, private static BotUI instance; private static JDialog dialog; - private JMenuItem run, pause, stop; + private JMenuBar menuBar; + private JMenu features, scripts, file; + private JMenuItem run, pause, stop, cacheClear, notifications; private boolean runScript, pauseScript; + public BotUI(String username, String password) { if (instance != null) { throw new IllegalStateException("BotUI already created"); @@ -74,11 +77,11 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, private void createMenu() { - JMenuBar menuBar = new JMenuBar(); + menuBar = new JMenuBar(); - JMenu file = new JMenu("File"); - JMenu scripts = new JMenu("Script"); - JMenu features = new JMenu("Features"); + file = new JMenu("File"); + scripts = new JMenu("Script"); + features = new JMenu("Features"); JMenuItem screenshot = new JMenuItem("Create screenshot"); JMenuItem proxy = new JMenuItem("Network"); @@ -104,10 +107,10 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, stop.setEnabled(false); stop.setIcon(new ImageIcon(Images.getResource("/storage/images/stop.png"))); - JMenuItem cacheClear = new JMenuItem("Clear cache"); + cacheClear = new JMenuItem("Clear cache"); cacheClear.setIcon(new ImageIcon(Images.getResource("/storage/images/trash.png"))); - JMenuItem notifications = new JMenuItem("Notifications"); + notifications = new JMenuItem("Notifications"); notifications.setIcon(new ImageIcon(Images.getResource("/storage/images/bell.png"))); screenshot.addActionListener(this); @@ -341,4 +344,23 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, public void windowOpened(WindowEvent arg0) { } + public JMenu getFeatures() { + return features; + } + + public JMenu getScripts() { + return scripts; + } + + public JMenu getFile() { + return file; + } + + public JMenuItem getCacheClear() { + return cacheClear; + } + + public JMenuItem getNotifications() { + return notifications; + } } \ No newline at end of file diff --git a/src/main/java/org/parabot/environment/servers/executers/ServerExecuter.java b/src/main/java/org/parabot/environment/servers/executers/ServerExecuter.java index f18712b..cae7c5f 100644 --- a/src/main/java/org/parabot/environment/servers/executers/ServerExecuter.java +++ b/src/main/java/org/parabot/environment/servers/executers/ServerExecuter.java @@ -1,39 +1,36 @@ package org.parabot.environment.servers.executers; import org.parabot.core.Context; -import org.parabot.core.Core; -import org.parabot.core.parsers.randoms.RandomParser; +import org.parabot.core.ui.BotUI; import org.parabot.core.ui.components.PaintComponent; import org.parabot.environment.servers.ServerProvider; -import java.io.PrintStream; - /** - * * Executes a server provider - * - * @author Everel * + * @author Everel */ public abstract class ServerExecuter { - public abstract void run(); + public abstract void run(); - public void finalize(final ServerProvider provider, final String serverName) { - new Thread(new Runnable() { - @Override - public void run() { - try { - Context context = Context.getInstance(provider); - context.load(); - PaintComponent.getInstance().startPainting(context); + public void finalize(final ServerProvider provider, final String serverName) { + new Thread(new Runnable() { + @Override + public void run() { + try { + BotUI.getInstance().getCacheClear().setEnabled(false); - Context.getInstance().getRandomHandler().init(); - } catch (Throwable t) { - t.printStackTrace(); - } - } - }).start(); - } + Context context = Context.getInstance(provider); + context.load(); + PaintComponent.getInstance().startPainting(context); + + Context.getInstance().getRandomHandler().init(); + } catch (Throwable t) { + t.printStackTrace(); + } + } + }).start(); + } } From 63e0e97084977c75beef6a403302cc5bd4676464 Mon Sep 17 00:00:00 2001 From: Emma Stone Date: Fri, 17 Feb 2017 13:38:34 +0000 Subject: [PATCH 03/15] [BUGFIX] Logger#addMessage Related to issue #185. --- .travis.yml | 2 +- pom.xml | 2 +- src/main/java/org/parabot/core/ui/Logger.java | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 780a3d9..dc0a1de 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,7 +32,7 @@ env: - secure: UG+b1tEgc8xv9x4r//2OAIK1RrYv6n209KTTFMMwcnAa7DI8HaP8nljRa5/VhDhuKHdlVrYH/tI90v7UVBs0GDVNwK5V17Io0fMm3FUGZekSthTCqqno5wAGa9r6a6mMLtSaSmIFeIKi0+0d2ZwplRuhj/dtEYjjBBj+kK8g4nE= - secure: St/fecUDInFBCRriYqgp2F8PU9/SooorgxD9Mrs+b0EsC7AbtSsQXvdIv2Lp6xzdQ0VSXPcLIhULPOYrmBKnGQ/NjXTIZXxnroyQxxnI6xyEWIZwiHRY/bKRJDRbQTxD9NL32szKiDSwnw7pu6llF4D64UqQvziq4Gm6VohU75M= - secure: bD15GVZWowiknbfLavh8CxSh0GsnF5kT4kZ6ggCuUDGyj0mzqf7dNRnchQIKkCG0WRYyTrFN4pEiygeywWsipEeAVv9Xhx3cuUZmzeQaR5KCWabSwJ8gK6jZd1YhcWmM9vrdPHobZr65MP0y/8mu/Fovgky9dY7KDf4G3SebNrM= - - PARABOT_VERSION=2.6.4 + - PARABOT_VERSION=2.6.5 cache: directories: diff --git a/pom.xml b/pom.xml index 3a412fd..c3327a7 100755 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.parabot client - 2.6.4 + 2.6.5 jar diff --git a/src/main/java/org/parabot/core/ui/Logger.java b/src/main/java/org/parabot/core/ui/Logger.java index 8043692..f263886 100644 --- a/src/main/java/org/parabot/core/ui/Logger.java +++ b/src/main/java/org/parabot/core/ui/Logger.java @@ -86,7 +86,6 @@ public class Logger extends JPanel { } /** - * @deprecated * @param message */ public static void addMessage(String message){ From 97dc83c37b241253a4d6ba8555113ee81b3dc887 Mon Sep 17 00:00:00 2001 From: Emma Stone Date: Fri, 17 Feb 2017 14:46:21 +0000 Subject: [PATCH 04/15] [TASK] Removed \n from SystemRedirect methods --- .../org/parabot/core/asm/redirect/SystemRedirect.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/parabot/core/asm/redirect/SystemRedirect.java b/src/main/java/org/parabot/core/asm/redirect/SystemRedirect.java index 1e2e763..e8ce836 100644 --- a/src/main/java/org/parabot/core/asm/redirect/SystemRedirect.java +++ b/src/main/java/org/parabot/core/asm/redirect/SystemRedirect.java @@ -35,7 +35,7 @@ public class SystemRedirect { break; } - Core.verbose(String.format("GetSystemProp %s = %s\n", s, value)); + Core.verbose(String.format("GetSystemProp %s = %s", s, value)); return value; } @@ -58,7 +58,7 @@ public class SystemRedirect { } } - Core.verbose(String.format("GetSystemProp %s = %s\n", s, value)); + Core.verbose(String.format("GetSystemProp %s = %s", s, value)); return value; } @@ -67,12 +67,12 @@ public class SystemRedirect { } public static String setProperty(String s1, String s2) { - Core.verbose(String.format("SetSystemProp %s = %s\n", s1, s2)); + Core.verbose(String.format("SetSystemProp %s = %s", s1, s2)); return System.setProperty(s1, s2); } public static String getenv(String string) { - Core.verbose(String.format("getEnv %s = %s\n", string, System.getenv(string))); + Core.verbose(String.format("getEnv %s = %s", string, System.getenv(string))); return System.getenv(string); } From f25ca0955e83012072a9c11a9fdeabe64c4bb7f7 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Wed, 22 Feb 2017 23:26:00 +0100 Subject: [PATCH 05/15] [BUGFIX] Avoiding screenshot creation --- .../org/parabot/core/asm/redirect/ToolkitRedirect.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/asm/redirect/ToolkitRedirect.java b/src/main/java/org/parabot/core/asm/redirect/ToolkitRedirect.java index 89f97c7..1bafabc 100644 --- a/src/main/java/org/parabot/core/asm/redirect/ToolkitRedirect.java +++ b/src/main/java/org/parabot/core/asm/redirect/ToolkitRedirect.java @@ -38,8 +38,13 @@ public class ToolkitRedirect { public static Dimension getScreenSize(Toolkit t){ return new Dimension(0,0); } + public static Image createImage(Toolkit t,byte[] b){ - return t.createImage(b); + return null; + } + + public static Image createImage(Toolkit t, String s){ + return null; } public static Image getImage(Toolkit t,URL u){ From 0dcccc58f11a9b3ec4b2f36c074152227c27e63a Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 5 Mar 2017 20:58:33 +0100 Subject: [PATCH 06/15] [BUGFIX] Added desiredAssertionStatus Solves issue #198 --- .../java/org/parabot/core/asm/redirect/ClassRedirect.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java b/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java index 8de3935..4e0be58 100644 --- a/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java +++ b/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java @@ -125,6 +125,14 @@ public class ClassRedirect { return c.getResourceAsStream(res); } + public static boolean desiredAssertionStatus(Class c) { + if (validStack()) { + return c.desiredAssertionStatus(); + } + + return !c.getName().contains("parabot") && c.desiredAssertionStatus(); + } + private static boolean validStack() { Exception e = new Exception(); for (StackTraceElement elem : e.getStackTrace()) { From 1f6c41e96d3ec2ad233027ee2cbdb628fa732ad7 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 2 Apr 2017 19:54:45 +0200 Subject: [PATCH 07/15] [TASK] Added server to provider download --- src/main/java/org/parabot/core/Configuration.java | 2 +- .../environment/servers/executers/PublicServerExecuter.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index 11fb0cf..e0917aa 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -12,7 +12,7 @@ public class Configuration extends org.parabot.api.Configuration { public static final String GET_SCRIPTS = "http://bdn.parabot.org/api/get.php?action=scripts_scripts&server="; public static final String GET_SCRIPT = "http://bdn.parabot.org/api/get.php?action=scripts_script&id="; public static final String GET_SERVER_PROVIDERS = "http://bdn.parabot.org/api/get.php?action=server_providers"; - public static final String GET_SERVER_PROVIDER = "http://v3.bdn.parabot.org/api/bot/download/provider?nightly=%s"; + public static final String GET_SERVER_PROVIDER = "http://local.v3.bdn.parabot.org:88/app_dev.php/api/bot/download/provider?nightly=%s&server=%s"; public static final String GET_SERVER_PROVIDER_INFO = "http://bdn.parabot.org/api/get.php?action=server_information&name="; public static final String GET_SERVER_SETTINGS = "http://bdn.parabot.org/api/get.php?action=get_settings"; public static final String GET_BOT_VERSION = "http://bdn.parabot.org/api/v2/bot/version"; diff --git a/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java b/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java index 73723a4..6a54f10 100644 --- a/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java +++ b/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java @@ -54,7 +54,7 @@ public class PublicServerExecuter extends ServerExecuter { final File destination = new File(Directories.getCachePath(), serverProviderInfo.getCRC32() + ".jar"); - final String jarUrl = String.format(Configuration.GET_SERVER_PROVIDER, Configuration.BOT_VERSION.isNightly()); + final String jarUrl = String.format(Configuration.GET_SERVER_PROVIDER, Configuration.BOT_VERSION.isNightly(), serverName); Core.verbose("Downloading: " + jarUrl + " ..."); From 19e337be90aaa084415e195b39c2f5a673a6e271 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 2 Apr 2017 19:55:41 +0200 Subject: [PATCH 08/15] [BUGFIX] Removed local url --- src/main/java/org/parabot/core/Configuration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index e0917aa..39e9b03 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -12,7 +12,7 @@ public class Configuration extends org.parabot.api.Configuration { public static final String GET_SCRIPTS = "http://bdn.parabot.org/api/get.php?action=scripts_scripts&server="; public static final String GET_SCRIPT = "http://bdn.parabot.org/api/get.php?action=scripts_script&id="; public static final String GET_SERVER_PROVIDERS = "http://bdn.parabot.org/api/get.php?action=server_providers"; - public static final String GET_SERVER_PROVIDER = "http://local.v3.bdn.parabot.org:88/app_dev.php/api/bot/download/provider?nightly=%s&server=%s"; + public static final String GET_SERVER_PROVIDER = "http://v3.bdn.parabot.org/api/bot/download/provider?nightly=%s&server=%s"; public static final String GET_SERVER_PROVIDER_INFO = "http://bdn.parabot.org/api/get.php?action=server_information&name="; public static final String GET_SERVER_SETTINGS = "http://bdn.parabot.org/api/get.php?action=get_settings"; public static final String GET_BOT_VERSION = "http://bdn.parabot.org/api/v2/bot/version"; From 4831cae068c1051268859c9c1fde959dc80179bc Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 23 Apr 2017 01:39:33 +0200 Subject: [PATCH 09/15] [FEATURE] Added methods to allow runs of multiple randoms --- .../environment/randoms/RandomHandler.java | 45 +++++++++++++++---- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/parabot/environment/randoms/RandomHandler.java b/src/main/java/org/parabot/environment/randoms/RandomHandler.java index a8bda20..a6ef39e 100644 --- a/src/main/java/org/parabot/environment/randoms/RandomHandler.java +++ b/src/main/java/org/parabot/environment/randoms/RandomHandler.java @@ -100,6 +100,40 @@ public class RandomHandler { this.activeRandoms.clear(); } + /** + * Executes a specific random + * + * @param r + * @return True if the random is executed, false if not + */ + public boolean executeRandom(Random r){ + if (r.activate()) { + Logger.addMessage("Running random '" + r.getName() + "'", true); + try { + r.execute(); + return true; + }catch (Exception e){ + Logger.addMessage("Random failed: '" + r.getName() + "'", false); + e.printStackTrace(); + } + } + + return false; + } + + /** + * Runs all randoms of a certain type + * + * @param type + */ + public void runAll(RandomType type){ + for (Random r : this.activeRandoms) { + if (r.getRandomType().getId() == type.getId()) { + executeRandom(r); + } + } + } + /** * Checks if random occurs and runs it * @@ -107,15 +141,8 @@ public class RandomHandler { */ public boolean checkAndRun(RandomType type) { for (Random r : this.activeRandoms) { - if (r.getRandomType().getId() == type.getId() && r.activate()) { - Logger.addMessage("Running random '" + r.getName() + "'", true); - try { - r.execute(); - }catch (Exception e){ - Logger.addMessage("Random failed: '" + r.getName() + "'", false); - e.printStackTrace(); - } - return true; + if (r.getRandomType().getId() == type.getId()) { + return executeRandom(r); } } return false; From ee0a263630ea5f1c48acedf6330f99ea343588fa Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 23 Apr 2017 01:40:25 +0200 Subject: [PATCH 10/15] [BUGFIX] Set all multiple random-executions to runAll --- .../java/org/parabot/environment/randoms/RandomHandler.java | 2 +- src/main/java/org/parabot/environment/scripts/Script.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/parabot/environment/randoms/RandomHandler.java b/src/main/java/org/parabot/environment/randoms/RandomHandler.java index a6ef39e..1b80903 100644 --- a/src/main/java/org/parabot/environment/randoms/RandomHandler.java +++ b/src/main/java/org/parabot/environment/randoms/RandomHandler.java @@ -24,7 +24,7 @@ public class RandomHandler { public void init() { RandomParser.enable(); - checkAndRun(RandomType.ON_SERVER_START); + runAll(RandomType.ON_SERVER_START); } /** diff --git a/src/main/java/org/parabot/environment/scripts/Script.java b/src/main/java/org/parabot/environment/scripts/Script.java index 2e646e9..21527b0 100644 --- a/src/main/java/org/parabot/environment/scripts/Script.java +++ b/src/main/java/org/parabot/environment/scripts/Script.java @@ -81,7 +81,7 @@ public class Script implements Runnable { return; } - context.getRandomHandler().checkAndRun(RandomType.ON_SCRIPT_START); + context.getRandomHandler().runAll(RandomType.ON_SCRIPT_START); Core.verbose("Detecting script framework..."); context.setRunningScript(this); @@ -120,7 +120,7 @@ public class Script implements Runnable { Core.verbose("Script stopped/finished, unloading and stopping..."); onFinish(); - context.getRandomHandler().checkAndRun(RandomType.ON_SCRIPT_FINISH); + context.getRandomHandler().runAll(RandomType.ON_SCRIPT_FINISH); Logger.addMessage("Script stopped.", false); context.getServerProvider().unloadScript(this); From a5d091cae8a9f290d02121bf6a585c0b4f559b5b Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sat, 13 May 2017 01:28:17 +0200 Subject: [PATCH 11/15] [BUGFIX] Solves NoSuchMethodError for Thread Thread.setUncaughtExceptionHandler --- .../java/org/parabot/core/asm/redirect/ThreadRedirect.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/org/parabot/core/asm/redirect/ThreadRedirect.java b/src/main/java/org/parabot/core/asm/redirect/ThreadRedirect.java index 74c6441..0c60ec3 100644 --- a/src/main/java/org/parabot/core/asm/redirect/ThreadRedirect.java +++ b/src/main/java/org/parabot/core/asm/redirect/ThreadRedirect.java @@ -1,5 +1,6 @@ package org.parabot.core.asm.redirect; +import org.parabot.core.Core; import org.parabot.core.asm.RedirectClassAdapter; public class ThreadRedirect { @@ -58,4 +59,8 @@ public class ThreadRedirect { Thread.sleep(time); } + + public static void setUncaughtExceptionHandler(Thread t, Thread.UncaughtExceptionHandler handler){ + t.setUncaughtExceptionHandler(handler); + } } From bb711f40646d261760c4f101208c5f7baade124b Mon Sep 17 00:00:00 2001 From: Emma Stone Date: Tue, 16 May 2017 17:56:32 +0100 Subject: [PATCH 12/15] [BUGFIX] Removed JFrame from screenshot --- src/main/java/org/parabot/core/ui/BotUI.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 67c98d8..c33b6bd 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -160,7 +160,7 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, case "Create screenshot": try { Robot robot = new Robot(); - Rectangle parabotScreen = new Rectangle((int) getLocation().getX(), (int) getLocation().getY(), getWidth(), getHeight()); + Rectangle parabotScreen = new Rectangle((int) getLocation().getX(), (int) getLocation().getY() + (menuBar.getHeight() + features.getHeight()), getWidth(), getHeight()); BufferedImage image = robot.createScreenCapture(parabotScreen); String randString = StringUtils.randomString(10); boolean search = true; @@ -363,4 +363,4 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, public JMenuItem getNotifications() { return notifications; } -} \ No newline at end of file +} From d6547e3b84dc7975b74947f2fdf054219004956c Mon Sep 17 00:00:00 2001 From: Emma Stone Date: Wed, 31 May 2017 03:15:43 +0100 Subject: [PATCH 13/15] [FEATURE] Alert of new version Related to issue #195 --- src/main/java/org/parabot/Landing.java | 10 +++--- src/main/java/org/parabot/core/Core.java | 21 +++++++----- .../java/org/parabot/core/ui/utils/UILog.java | 33 ++++++++++++------- 3 files changed, 38 insertions(+), 26 deletions(-) diff --git a/src/main/java/org/parabot/Landing.java b/src/main/java/org/parabot/Landing.java index 7c2b31a..51c6a67 100644 --- a/src/main/java/org/parabot/Landing.java +++ b/src/main/java/org/parabot/Landing.java @@ -1,7 +1,6 @@ package org.parabot; import org.parabot.api.translations.TranslationHelper; -import org.parabot.core.Configuration; import org.parabot.core.Core; import org.parabot.core.Directories; import org.parabot.core.forum.AccountManager; @@ -10,13 +9,10 @@ import org.parabot.core.network.proxy.ProxySocket; import org.parabot.core.network.proxy.ProxyType; import org.parabot.core.ui.BotUI; import org.parabot.core.ui.ServerSelector; -import org.parabot.core.ui.utils.UILog; import javax.swing.*; -import java.awt.*; import java.io.File; import java.io.IOException; -import java.net.URI; /** * Parabot v2.6 @@ -46,8 +42,10 @@ public final class Landing { } if (!Core.inDebugMode() && Core.hasValidation() && !Core.isValid()) { - Core.downloadNewVersion(); - return; + if (Core.newVersionAlert() == JOptionPane.YES_OPTION) { + Core.downloadNewVersion(); + return; + } } Core.verbose(TranslationHelper.translate("VALIDATION_ACCOUNT_MANAGER")); diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index 240b8be..68f8623 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -14,13 +14,11 @@ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; -import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.net.URLEncoder; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.util.Date; /** * The core of parabot @@ -36,7 +34,7 @@ public class Core { private static boolean loadLocal; //Loads both local and public scripts/servers private static boolean validate = true; - private static boolean secure = true; + private static boolean secure = true; private static Version currentVersion = Configuration.BOT_VERSION; @@ -141,11 +139,11 @@ public class Core { File f = new File(Landing.class.getProtectionDomain().getCodeSource().getLocation().getFile()); if (f.isFile()) { try { - MessageDigest md = MessageDigest.getInstance("MD5"); - File location = new File(Landing.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()); + MessageDigest md = MessageDigest.getInstance("MD5"); + File location = new File(Landing.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()); if (location.exists()) { - FileInputStream fis = new FileInputStream(location); - byte[] dataBytes = new byte[1024]; + FileInputStream fis = new FileInputStream(location); + byte[] dataBytes = new byte[1024]; int nread; @@ -185,7 +183,7 @@ public class Core { try { if (br != null) { JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(br); - boolean latest = (Boolean) object.get("result"); + boolean latest = (Boolean) object.get("result"); if (!latest) { Directories.clearCache(); } @@ -251,4 +249,11 @@ public class Core { return true; } } + + /** + * Alerts the user that there is a new version + */ + public static int newVersionAlert() { + return UILog.alert("Parabot Update", "There's a new version of Parabot! \nDo you wish to download it?\n\nThe current version could have some problems!", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE); + } } \ No newline at end of file diff --git a/src/main/java/org/parabot/core/ui/utils/UILog.java b/src/main/java/org/parabot/core/ui/utils/UILog.java index 1a48176..3a07744 100644 --- a/src/main/java/org/parabot/core/ui/utils/UILog.java +++ b/src/main/java/org/parabot/core/ui/utils/UILog.java @@ -1,24 +1,33 @@ package org.parabot.core.ui.utils; -import javax.swing.JOptionPane; +import javax.swing.*; /** - * * Log messages to the log user interface which is attached to the bot user interface - * - * @author Everel * + * @author Everel */ public class UILog { - public static void log(final String title, final String message) { - log(title, message, JOptionPane.INFORMATION_MESSAGE); - } + public static void log(final String title, final String message) { + log(title, message, JOptionPane.INFORMATION_MESSAGE); + } - public static void log(final String title, final String message, - int messageType) { - JOptionPane.showMessageDialog(null, message, title, - messageType); - } + public static void log(final String title, final String message, + int messageType) { + JOptionPane.showMessageDialog(null, message, title, + messageType); + } + public static int alert(final String title, final String message) { + alert(title, message, JOptionPane.YES_NO_OPTION); + } + + public static int alert(final String title, final String message, int option) { + alert(title, message, option, JOptionPane.DEFAULT_OPTION); + } + + public static int alert(final String title, final String message, int optionType, int messageType) { + JOptionPane.showConfirmDialog(null, message, title, optionType, messageType); + } } From d2c64f935ccd335a5b3e957295186f338a3351af Mon Sep 17 00:00:00 2001 From: Emma Stone Date: Wed, 31 May 2017 03:25:30 +0100 Subject: [PATCH 14/15] [BUGFIX] Added the retuns --- src/main/java/org/parabot/core/ui/utils/UILog.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/utils/UILog.java b/src/main/java/org/parabot/core/ui/utils/UILog.java index 3a07744..ff00260 100644 --- a/src/main/java/org/parabot/core/ui/utils/UILog.java +++ b/src/main/java/org/parabot/core/ui/utils/UILog.java @@ -20,14 +20,14 @@ public class UILog { } public static int alert(final String title, final String message) { - alert(title, message, JOptionPane.YES_NO_OPTION); + return alert(title, message, JOptionPane.YES_NO_OPTION); } public static int alert(final String title, final String message, int option) { - alert(title, message, option, JOptionPane.DEFAULT_OPTION); + return alert(title, message, option, JOptionPane.DEFAULT_OPTION); } public static int alert(final String title, final String message, int optionType, int messageType) { - JOptionPane.showConfirmDialog(null, message, title, optionType, messageType); + return JOptionPane.showConfirmDialog(null, message, title, optionType, messageType); } } From 8184b0f39e6e9eb97a3cbb0130841f01e9103253 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 21 Aug 2017 17:10:14 +0200 Subject: [PATCH 15/15] [RELEASE] Release of V2.6.6 --- .travis.yml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index dc0a1de..ea383aa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,7 +32,7 @@ env: - secure: UG+b1tEgc8xv9x4r//2OAIK1RrYv6n209KTTFMMwcnAa7DI8HaP8nljRa5/VhDhuKHdlVrYH/tI90v7UVBs0GDVNwK5V17Io0fMm3FUGZekSthTCqqno5wAGa9r6a6mMLtSaSmIFeIKi0+0d2ZwplRuhj/dtEYjjBBj+kK8g4nE= - secure: St/fecUDInFBCRriYqgp2F8PU9/SooorgxD9Mrs+b0EsC7AbtSsQXvdIv2Lp6xzdQ0VSXPcLIhULPOYrmBKnGQ/NjXTIZXxnroyQxxnI6xyEWIZwiHRY/bKRJDRbQTxD9NL32szKiDSwnw7pu6llF4D64UqQvziq4Gm6VohU75M= - secure: bD15GVZWowiknbfLavh8CxSh0GsnF5kT4kZ6ggCuUDGyj0mzqf7dNRnchQIKkCG0WRYyTrFN4pEiygeywWsipEeAVv9Xhx3cuUZmzeQaR5KCWabSwJ8gK6jZd1YhcWmM9vrdPHobZr65MP0y/8mu/Fovgky9dY7KDf4G3SebNrM= - - PARABOT_VERSION=2.6.5 + - PARABOT_VERSION=2.6.6 cache: directories: diff --git a/pom.xml b/pom.xml index c3327a7..5c5b69d 100755 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.parabot client - 2.6.5 + 2.6.6 jar