From 9caecc34789b25fd31007d6f5794c000a2ca5331 Mon Sep 17 00:00:00 2001 From: Alexander Bielen Date: Tue, 4 Dec 2018 21:11:05 +0100 Subject: [PATCH 1/2] [FEATURE] Added button to direct user to forums for reporting hook issues --- src/main/java/org/parabot/core/Configuration.java | 6 ++++-- src/main/java/org/parabot/core/ui/utils/UILog.java | 9 +++++++++ .../environment/servers/ServerProvider.java | 14 ++++++++++++-- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index 6217c67..4a2ea44 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -18,10 +18,12 @@ public class Configuration extends org.parabot.api.Configuration { public static final String GET_BOT_VERSION = "http://bdn.parabot.org/api/v2/bot/version"; public static final String API_DOWNLOAD_BOT = "http://v3.bdn.parabot.org/api/bot/download/client"; public static final String DOWNLOAD_BOT = "http://bdn.parabot.org/versions/"; - public static final String REGISTRATION_PAGE = "https://www.parabot.org/community/register/"; public static final String GET_RANDOMS = "http://v3.bdn.parabot.org/api/bot/download/randoms"; public static final String DATA_API = "http://bdn.parabot.org/api/v2/data/"; public static final String ITEM_API = DATA_API + "items/"; - public static final Version BOT_VERSION = ProjectProperties.getProjectVersion(); + public static final Version BOT_VERSION = ProjectProperties.getProjectVersion(); + + public static final String COMMUNITY = "https://www.parabot.org/community/"; + public static final String REGISTRATION_PAGE = COMMUNITY + "register/"; } 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 ff00260..d1261f6 100644 --- a/src/main/java/org/parabot/core/ui/utils/UILog.java +++ b/src/main/java/org/parabot/core/ui/utils/UILog.java @@ -30,4 +30,13 @@ public class UILog { public static int alert(final String title, final String message, int optionType, int messageType) { return JOptionPane.showConfirmDialog(null, message, title, optionType, messageType); } + + public static int alert(final String title, final String message, Object[] options) { + return alert(title, message, options, JOptionPane.INFORMATION_MESSAGE); + } + + public static int alert(final String title, final String message, Object[] options, int messageType) { + return JOptionPane.showOptionDialog(null, message, title, + JOptionPane.YES_NO_CANCEL_OPTION, messageType, null, options, null); + } } diff --git a/src/main/java/org/parabot/environment/servers/ServerProvider.java b/src/main/java/org/parabot/environment/servers/ServerProvider.java index ac9bf38..f023cd6 100644 --- a/src/main/java/org/parabot/environment/servers/ServerProvider.java +++ b/src/main/java/org/parabot/environment/servers/ServerProvider.java @@ -1,6 +1,7 @@ package org.parabot.environment.servers; import org.objectweb.asm.Opcodes; +import org.parabot.core.Configuration; import org.parabot.core.Context; import org.parabot.core.asm.hooks.HookFile; import org.parabot.core.asm.interfaces.Injectable; @@ -14,6 +15,8 @@ import javax.swing.*; import java.applet.Applet; import java.applet.AppletStub; import java.awt.*; +import java.io.IOException; +import java.net.URI; import java.net.URL; /** @@ -92,8 +95,15 @@ public abstract class ServerProvider implements Opcodes { if(!crashed) { Injectable inj = injectables[index]; - UILog.log("Outdated client", "This server currently has outdated hooks, please report it to a member of the Parabot staff/Dev Team.\r\n\r\n" + - "Broken hook:\r\n"+inj, JOptionPane.ERROR_MESSAGE); + int resp = UILog.alert("Outdated client", "This server currently has outdated hooks, please report it to a member of the Parabot staff/Dev Team.\r\n\r\n" + + "Broken hook:\r\n"+inj, new Object[]{"Close", "Report here..."}, JOptionPane.ERROR_MESSAGE); + + if(resp == 1) { + URI uri = URI.create(Configuration.COMMUNITY + "forum/135-reports/"); + try { + Desktop.getDesktop().browse(uri); + } catch (IOException ignore) {} + } } crashed = true; throw ex; From b6a091cb074f5d63076eb6e52a680e147517946f Mon Sep 17 00:00:00 2001 From: Alexander Bielen Date: Tue, 4 Dec 2018 21:21:52 +0100 Subject: [PATCH 2/2] [TASK] Apply requested changes --- src/main/java/org/parabot/core/Configuration.java | 4 ++-- .../java/org/parabot/environment/servers/ServerProvider.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index 4a2ea44..a8185a6 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -24,6 +24,6 @@ public class Configuration extends org.parabot.api.Configuration { public static final Version BOT_VERSION = ProjectProperties.getProjectVersion(); - public static final String COMMUNITY = "https://www.parabot.org/community/"; - public static final String REGISTRATION_PAGE = COMMUNITY + "register/"; + public static final String COMMUNITY_PAGE = "https://www.parabot.org/community/"; + public static final String REGISTRATION_PAGE = COMMUNITY_PAGE + "register/"; } diff --git a/src/main/java/org/parabot/environment/servers/ServerProvider.java b/src/main/java/org/parabot/environment/servers/ServerProvider.java index f023cd6..ae9b5ba 100644 --- a/src/main/java/org/parabot/environment/servers/ServerProvider.java +++ b/src/main/java/org/parabot/environment/servers/ServerProvider.java @@ -95,11 +95,11 @@ public abstract class ServerProvider implements Opcodes { if(!crashed) { Injectable inj = injectables[index]; - int resp = UILog.alert("Outdated client", "This server currently has outdated hooks, please report it to a member of the Parabot staff/Dev Team.\r\n\r\n" + + int resp = UILog.alert("Outdated client", "This server currently has outdated hooks, please report it to a member of the Parabot staff.\r\n\r\n" + "Broken hook:\r\n"+inj, new Object[]{"Close", "Report here..."}, JOptionPane.ERROR_MESSAGE); if(resp == 1) { - URI uri = URI.create(Configuration.COMMUNITY + "forum/135-reports/"); + URI uri = URI.create(Configuration.COMMUNITY_PAGE + "forum/135-reports/"); try { Desktop.getDesktop().browse(uri); } catch (IOException ignore) {}