strategies) {
+ this.strategies = strategies;
+ }
- public final int getFrameWorkType() {
- return frameWorkType;
- }
+ public final int getFrameWorkType() {
+ return frameWorkType;
+ }
- public final void setFrameWork(int frameWorkType) {
- if(frameWorkType < 0 || frameWorkType > 2) {
- throw new RuntimeException("Invalid framework type");
- }
- this.frameWorkType = frameWorkType;
- }
+ public final void setFrameWork(int frameWorkType) {
+ if (frameWorkType < 0 || frameWorkType > 2) {
+ throw new RuntimeException("Invalid framework type");
+ }
+ this.frameWorkType = frameWorkType;
+ }
- public final void setAbstractFrameWork(AbstractFramework f) {
- this.frameWork = f;
- }
+ public final void setAbstractFrameWork(AbstractFramework f) {
+ this.frameWork = f;
+ }
- public final void addRandom(Random random) {
- Context.getInstance().getRandomHandler().addRandom(random);
- }
+ public final void addRandom(Random random) {
+ Context.getInstance().getRandomHandler().addRandom(random);
+ }
- @Override
- public final void run() {
- Context context = Context.getInstance();
+ @Override
+ public final void run() {
+ Context context = Context.getInstance();
- Core.verbose("Initializing script...");
- context.getServerProvider().initScript(this);
- Core.verbose("Done.");
+ Core.verbose("Initializing script...");
+ context.getServerProvider().initScript(this);
+ Core.verbose("Done.");
- if(!onExecute()) {
- Core.verbose("Script#onExecute returned false, unloading and stopping script...");
- context.getServerProvider().unloadScript(this);
- this.state = STATE_STOPPED;
- Core.verbose("Done.");
- return;
- }
+ if (!onExecute()) {
+ Core.verbose("Script#onExecute returned false, unloading and stopping script...");
+ context.getServerProvider().unloadScript(this);
+ this.state = STATE_STOPPED;
+ Core.verbose("Done.");
+ return;
+ }
- Core.verbose("Detecting script framework...");
- context.setRunningScript(this);
- BotUI.getInstance().toggleRun();
- if(this instanceof LoopTask) {
- Core.verbose("Script framework detected: LoopTask");
- frameWorkType = TYPE_LOOP;
- frameWork = Frameworks.getLooper((LoopTask) this);
- } else if(strategies != null && !strategies.isEmpty()) {
- Core.verbose("Script framework detected: Strategies");
- frameWorkType = TYPE_STRATEGY;
- frameWork = Frameworks.getStrategyWorker(strategies);
- } else {
- Core.verbose("Unknown script framework: Other");
- frameWorkType = TYPE_OTHER;
- }
- Core.verbose("Running script...");
- Logger.addMessage("Script started.", true);
- try {
- while(this.state != STATE_STOPPED) {
- if(context.getRandomHandler().checkAndRun()) {
- continue;
- }
+ context.getRandomHandler().checkAndRun(RandomType.ON_SCRIPT_START);
- if(this.state == STATE_PAUSE) {
- sleep(500);
- continue;
- }
- if(!frameWork.execute()) {
- break;
- }
- }
- } catch (Throwable t) {
- t.printStackTrace();
- }
- Core.verbose("Script stopped/finished, unloading and stopping...");
- onFinish();
- Logger.addMessage("Script stopped.", false);
- context.getServerProvider().unloadScript(this);
- this.state = STATE_STOPPED;
- context.setRunningScript(null);
+ Core.verbose("Detecting script framework...");
+ context.setRunningScript(this);
+ BotUI.getInstance().toggleRun();
+ if (this instanceof LoopTask) {
+ Core.verbose("Script framework detected: LoopTask");
+ frameWorkType = TYPE_LOOP;
+ frameWork = Frameworks.getLooper((LoopTask) this);
+ } else if (strategies != null && !strategies.isEmpty()) {
+ Core.verbose("Script framework detected: Strategies");
+ frameWorkType = TYPE_STRATEGY;
+ frameWork = Frameworks.getStrategyWorker(strategies);
+ } else {
+ Core.verbose("Unknown script framework: Other");
+ frameWorkType = TYPE_OTHER;
+ }
+ Core.verbose("Running script...");
+ Logger.addMessage("Script started.", true);
+ try {
+ while (this.state != STATE_STOPPED) {
+ if (context.getRandomHandler().checkAndRun(RandomType.SCRIPT)) {
+ continue;
+ }
- Core.verbose("Resetting key bindings...");
- Context.getInstance().getPbKeyListener().resetBindings();
+ if (this.state == STATE_PAUSE) {
+ sleep(500);
+ continue;
+ }
+ if (!frameWork.execute()) {
+ break;
+ }
+ }
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ Core.verbose("Script stopped/finished, unloading and stopping...");
+ onFinish();
- BotUI.getInstance().toggleRun();
- Core.verbose("Done.");
- }
+ context.getRandomHandler().checkAndRun(RandomType.ON_SCRIPT_FINISH);
- /**
- * Sleeps until the SleepCondition is valid.
- *
- * DEPRECATED! use {@link Time#sleep(SleepCondition, int)}
- *
- * @param conn
- * the condition.
- * @param timeout
- * the time in miliseconds before it stops sleeping.
- * @return whether it ran successfully without timing out.
- */
- @Deprecated
- public final boolean sleep(SleepCondition conn, int timeout) {
- return Time.sleep(conn, timeout);
- }
+ Logger.addMessage("Script stopped.", false);
+ context.getServerProvider().unloadScript(this);
+ this.state = STATE_STOPPED;
+ context.setRunningScript(null);
- /**
- * Sets the script's state
- * @param state
- */
- public final void setState(final int state) {
- if(state < 0 || state > 2) {
- throw new IllegalArgumentException("Illegal state");
- }
- this.state = state;
- }
+ Core.verbose("Resetting key bindings...");
+ Context.getInstance().getPbKeyListener().resetBindings();
- /**
- * Sleeps for an amount of milliseconds
- * @param ms
- */
- public final void sleep(int ms) {
- Time.sleep(ms);
- }
+ BotUI.getInstance().toggleRun();
+ Core.verbose("Done.");
+ }
- public int getState() {
- return state;
- }
+ /**
+ * Sleeps until the SleepCondition is valid.
+ *
+ * DEPRECATED! use {@link Time#sleep(SleepCondition, int)}
+ *
+ * @param conn the condition.
+ * @param timeout the time in miliseconds before it stops sleeping.
+ * @return whether it ran successfully without timing out.
+ */
+ @Deprecated
+ public final boolean sleep(SleepCondition conn, int timeout) {
+ return Time.sleep(conn, timeout);
+ }
- public PBPreferences getPreferences(){
- if (this.preferences == null){
- this.preferences = new PBPreferences(scriptID);
- }
- return this.preferences;
- }
+ /**
+ * Sets the script's state
+ *
+ * @param state
+ */
+ public final void setState(final int state) {
+ if (state < 0 || state > 2) {
+ throw new IllegalArgumentException("Illegal state");
+ }
+ this.state = state;
+ }
- public void setScriptID(int scriptID){
- this.scriptID = scriptID;
- }
+ /**
+ * Sleeps for an amount of milliseconds
+ *
+ * @param ms
+ */
+ public final void sleep(int ms) {
+ Time.sleep(ms);
+ }
+
+ public int getState() {
+ return state;
+ }
+
+ public PBPreferences getPreferences() {
+ if (this.preferences == null) {
+ this.preferences = new PBPreferences(scriptID);
+ }
+ return this.preferences;
+ }
+
+ public void setScriptID(int scriptID) {
+ this.scriptID = scriptID;
+ }
}
diff --git a/src/main/java/org/parabot/environment/scripts/randoms/Random.java b/src/main/java/org/parabot/environment/scripts/randoms/Random.java
index 03a4fdb..07b9e04 100644
--- a/src/main/java/org/parabot/environment/scripts/randoms/Random.java
+++ b/src/main/java/org/parabot/environment/scripts/randoms/Random.java
@@ -1,18 +1,19 @@
package org.parabot.environment.scripts.randoms;
/**
- *
* @author Everel
- *
+ * @deprecated
+ * @see org.parabot.environment.randoms.Random
*/
+@Deprecated
public interface Random {
-
+
/**
* Determines whether this random should activate
* @return true if this random should activate
*/
public boolean activate();
-
+
/**
* Executes this random
*/
diff --git a/src/main/java/org/parabot/environment/scripts/randoms/RandomHandler.java b/src/main/java/org/parabot/environment/scripts/randoms/RandomHandler.java
index a40db78..12ffe85 100644
--- a/src/main/java/org/parabot/environment/scripts/randoms/RandomHandler.java
+++ b/src/main/java/org/parabot/environment/scripts/randoms/RandomHandler.java
@@ -1,108 +1,11 @@
package org.parabot.environment.scripts.randoms;
-import org.parabot.core.Core;
-import org.parabot.core.ui.Logger;
-
-import java.util.ArrayList;
-
/**
- *
* @author Everel
- *
+ * @deprecated
+ * @see org.parabot.environment.randoms.RandomHandler
*/
-public class RandomHandler {
- private ArrayList randoms;
+@Deprecated
+public class RandomHandler extends org.parabot.environment.randoms.RandomHandler {
- /**
- * The randoms that will actually run
- */
- private ArrayList activeRandoms;
-
- public RandomHandler() {
- this.randoms = new ArrayList<>();
- this.activeRandoms = new ArrayList<>();
- }
-
- /**
- * Adds a random to the random list
- * @param random The random that will be added to the arraylist
- */
- public void addRandom(Random random) {
- if(random == null) {
- throw new NullPointerException("Null random");
- }
- for(Random r : randoms) {
- if(r.getClass() == random.getClass()) {
- Core.verbose("Ignored added random, duplicate.");
- return;
- }
- }
- randoms.add(random);
- setActive(random);
- }
-
- /**
- * Adds a random to the active randoms
- * @param random
- */
- public void setActive(Random random){
- this.activeRandoms.add(random);
- }
-
- /**
- * Adds a random to the active randoms
- * @param random
- */
- public void setActive(String random){
- for (Random r : this.randoms){
- if (r.getName().equalsIgnoreCase(random.toLowerCase())){
- this.activeRandoms.add(r);
- }
- }
- }
-
- /**
- * Sets the whole random arraylist to the arraylist given as argument
- * @param randoms The new random arraylist
- */
- public void setRandoms(ArrayList randoms){
- this.randoms = randoms;
- }
-
- /**
- * Clears all added randoms
- */
- public void clearRandoms() {
- this.randoms.clear();
- }
-
- /**
- * Clears all active randoms
- */
- public void clearActiveRandoms(){
- this.activeRandoms.clear();
- }
-
- /**
- * Checks if random occurs and runs it
- * @return returns true if a random has been executed, otherwise false
- */
- public boolean checkAndRun() {
- for(Random r : this.activeRandoms) {
- if(r.activate()) {
- Logger.addMessage("Running random '" + r.getName() + "'", true);
- r.execute();
- return true;
- }
- }
- return false;
- }
-
- public ArrayList getRandoms(){
- return this.randoms;
- }
-
- public ArrayList getActiveRandoms(){
- return this.activeRandoms;
- }
}
\ 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 290bac9..f18712b 100644
--- a/src/main/java/org/parabot/environment/servers/executers/ServerExecuter.java
+++ b/src/main/java/org/parabot/environment/servers/executers/ServerExecuter.java
@@ -27,7 +27,8 @@ public abstract class ServerExecuter {
Context context = Context.getInstance(provider);
context.load();
PaintComponent.getInstance().startPainting(context);
- RandomParser.enable();
+
+ Context.getInstance().getRandomHandler().init();
} catch (Throwable t) {
t.printStackTrace();
}