From 4831cae068c1051268859c9c1fde959dc80179bc Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 23 Apr 2017 01:39:33 +0200 Subject: [PATCH 1/2] [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 2/2] [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);