diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..eaab26d --- /dev/null +++ b/.travis.yml @@ -0,0 +1,54 @@ +language: java + +jdk: + - oraclejdk7 + - oraclejdk8 + +before_install: + - chmod +x ./.travis/maven-build.sh + - chmod +x ./.travis/call-creation.sh + - mvn clean + +install: + - sudo apt-get update && sudo apt-get --assume-yes install zip unzip + +script: "./.travis/maven-build.sh" + +after_deploy: "./.travis/call-creation.sh" + +notifications: + email: false + slack: + secure: osWX769z0hSVPbeF1ZHSENgR4i+VKFTMGFNIV02RhvZ4a1BXsGUG5VCCDYUoBzWPCA5avJHg+FrN7nEEaoIjc5/qqFmZFGwOitZJsOzvR8C18QcgyuEX+35U4eQF4h5ITpruvwNNQ/7hIWyPl/fEPcAswHFDAccEb5iRNJeFNeM= + webhooks: + on_success: always + on_failure: always + on_start: never + +env: + global: + - PROVIDER_VERSION=1.201 + +cache: + directories: + - ".autoconf" + - "$HOME/.m2" + +deploy: + - provider: s3 + access_key_id: AKIAJDZLZNH2PIKHUKOA + secret_access_key: + secure: Opk2uGg0CyBIeqDX5EIu6UBRjaxjZwfNVNsjGbsA8QWjIu2zIUwFe1ZWJEkqzF5jqrN8ykgHw74ofrgZyBKH2nhGn7MN4wWWktKN4iIeq2D6gf8Cq31tzZcpgEfUaJnARXtu0jjCKag2PqglQAEc/OgVEeEFuUapJ0I4ITDZWbk= + bucket: parabot + skip_cleanup: true + local-dir: "./target/final/" + upload-dir: "artifacts/provider" + region: us-west-1 + detect_encoding: true + acl: public_read + on: + repo: Parabot/Parabot-317-API-Minified + branch: + - master + - development + jdk: 'oraclejdk7' \ No newline at end of file diff --git a/.travis/call-creation.sh b/.travis/call-creation.sh new file mode 100644 index 0000000..926ada4 --- /dev/null +++ b/.travis/call-creation.sh @@ -0,0 +1,4 @@ +#! /bin/bash + +sleep 1 +curl --data "build_id=$TRAVIS_BUILD_ID&version=$PROVIDER_VERSION" "http://v3.bdn.parabot.org/api/bot/create/provider" \ No newline at end of file diff --git a/.travis/maven-build.sh b/.travis/maven-build.sh new file mode 100644 index 0000000..f618ba6 --- /dev/null +++ b/.travis/maven-build.sh @@ -0,0 +1,7 @@ +#! /bin/bash + +if [ "$TRAVIS_BRANCH" == "master" ]; then + mvn -U package +else + mvn -Dbuild.version="-RC-$TRAVIS_BUILD_ID" -U package +fi \ No newline at end of file diff --git a/pom.xml b/pom.xml index 8b633a1..8a41e1e 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.parabot 317-api-minified - 1.15 + 1.201 Parabot 317-API-Minified @@ -19,6 +19,7 @@ 1.7 + -Xdoclint:none @@ -34,12 +35,12 @@ org.parabot client - 2.6 + 2.6.0 - ${artifactId}-V${version} + Provider-V${version}${build.version} org.apache.maven.plugins @@ -50,39 +51,30 @@ ${jdk.version} - - - - org.apache.maven.wagon - wagon-ftp - 2.10 - - - - - - https://maven.parabot.org/ - - false - parabot-maven - Custom Maven Repository - ftp://maven.parabot.org - default - - - parabot-maven - Frontend Parabot Maven - ftp://maven.parabot.org/docs/${artifactId}/ - - - - - org.apache.maven.plugins - maven-javadoc-plugin + maven-assembly-plugin + 2.5.3 + + + jar-with-dependencies + + ${project.build.directory}/final/ + false + + + + + make-assembly + + package + + single + + + - + \ No newline at end of file diff --git a/src/main/java/org/rev317/min/accessors/Client.java b/src/main/java/org/rev317/min/accessors/Client.java index f9555de..9fbed8f 100644 --- a/src/main/java/org/rev317/min/accessors/Client.java +++ b/src/main/java/org/rev317/min/accessors/Client.java @@ -20,6 +20,8 @@ public interface Client { void setInterface(int id); + void setAmountOrNameInput(int amount); + int[] getCurrentExp(); Deque[][][] getGroundItems(); @@ -28,6 +30,8 @@ public interface Client { int getBackDialogId(); + int getInputDialogState(); + int getPlane(); int[] getMenuActionId(); @@ -45,10 +49,14 @@ public interface Client { // args switched boolean walkTo(int clickType, int sizeX, int sizeY, int startX, int startY, int destX, int destY, int type, int face, boolean arbitrary, int rotation); + boolean walkToPKH(boolean flag1, boolean flag2, int clickType, int sizeX, int sizeY, int startX, int startY, int destX, int destY, int type, int face, boolean arbitrary, int rotation); + void doAction(int i); void dropClient(); + void login(String username, String password, boolean reconnecting); + int[] getCurrentStats(); int[] getSettings(); diff --git a/src/main/java/org/rev317/min/api/methods/Game.java b/src/main/java/org/rev317/min/api/methods/Game.java index e1f0419..462fceb 100644 --- a/src/main/java/org/rev317/min/api/methods/Game.java +++ b/src/main/java/org/rev317/min/api/methods/Game.java @@ -31,16 +31,21 @@ public class Game { * Gets open interface id * * @return interface id + * @deprecated Use {@link Interfaces #getOpenInterfaceId()} instead */ + @Deprecated public static int getOpenInterfaceId() { return Loader.getClient().getOpenInterfaceId(); } + /** * Get open back dialog id * * @return back dialog id + * @deprecated Use {@link Interfaces #getBackDialogId()} instead */ + @Deprecated public static int getOpenBackDialogId() { return Loader.getClient().getBackDialogId(); } @@ -90,10 +95,9 @@ public class Game { * Returns the settings within the client * * @param index The index of the setting you want to gather - * * @return The specific setting for the given index */ - public static int getSetting(int index){ + public static int getSetting(int index) { return Loader.getClient().getSettings()[index]; } @@ -102,7 +106,7 @@ public class Game { * * @return All settings */ - public static int[] getSettings(){ + public static int[] getSettings() { return Loader.getClient().getSettings(); } @@ -118,15 +122,16 @@ public class Game { /** * Just simply drops the client */ - public static void dropClient(){ + public static void dropClient() { Loader.getClient().dropClient(); } /** * Drops the client and returns if the game is logged out or not + * * @return True if game is logged out, false if not */ - public static boolean confirmedDropClient(){ + public static boolean confirmedDropClient() { Loader.getClient().dropClient(); Time.sleep(new SleepCondition() { @Override @@ -137,4 +142,22 @@ public class Game { return !isLoggedIn(); } + /** + * Login to a server + * @param username String + * @param password String + * @param reconnecting True if it's a retry, false if not + */ + public static void login(String username, String password, boolean reconnecting) { + Loader.getClient().login(username, password, reconnecting); + } + + /** + * Login to a server + * @param username String + * @param password String + */ + public static void login(String username, String password) { + login(username, password, false); + } } diff --git a/src/main/java/org/rev317/min/api/methods/Interfaces.java b/src/main/java/org/rev317/min/api/methods/Interfaces.java index 4e038c9..9bd2b39 100644 --- a/src/main/java/org/rev317/min/api/methods/Interfaces.java +++ b/src/main/java/org/rev317/min/api/methods/Interfaces.java @@ -13,70 +13,96 @@ public class Interfaces { /** * Get's the interfaces loaded in the interface Cache. + * * @return Interfaces in the Interface Cache. */ - public static Interface[] getInterfaces(){ + public static Interface[] getInterfaces() { return Loader.getClient().getInterfaceCache(); } /** * Get's the Interface from the Interface Cache using the given ID. + * * @param id Interface ID. * @return Interface from the cache by the given ID. */ - public static Interface getInterface(int id){ + public static Interface getInterface(int id) { return getInterfaces()[id]; } /** * Opens the Interface by the given ID. + * * @param id ID of the Interface to Open. */ - public static void openInterface(int id){ + public static void openInterface(int id) { Loader.getClient().setInterface(id); } + /** + * Sets the int by the given Amount + * + * @param amount Amount to set + */ + public static void setAmountOrNameInput(int amount) { + Loader.getClient().setAmountOrNameInput(amount); + } + /** * Get's the Open Interface ID. + * * @return The ID of the Open Interface , will be -1 if all Interfaces are closed. */ - public static int getOpenInterfaceId(){ + public static int getOpenInterfaceId() { return Loader.getClient().getOpenInterfaceId(); } /** * Get's the Open Back Dialog ID. + * * @return The ID of the Open Back Dialog , will be -1 if all Back Dialogs are closed. */ - public static int getBackDialogId(){ + public static int getBackDialogId() { return Loader.getClient().getBackDialogId(); } + /** + * Get current input dialog state + * + * @return input dialog state + */ + public static int getInputDialogState() { + return Loader.getClient().getInputDialogState(); + } + /** * Checks if the Interface or Back Dialog by the given ID is Open. + * * @param id ID of the Interface or Back Dialog to check for. * @return True is the Interface or Back Dialog is Open else will return false. */ - public static boolean isOpen(int id){ + public static boolean isOpen(int id) { return getOpenInterfaceId() == id || getBackDialogId() == id; } /** * Checks if the Interface by the given ID is Open. - * @param id ID of the Interface or Back Dialog to check for depending on the backDialog boolean. + * + * @param id ID of the Interface or Back Dialog to check for depending on the backDialog boolean. * @param backDialog When tru it will check the Bank Dialog ID else it will check for the Interface ID. * @return True is the Interface or Back Dialog is Open else will return false. */ - public static boolean isOpen(int id, boolean backDialog){ - if(backDialog){ + public static boolean isOpen(int id, boolean backDialog) { + if (backDialog) { return getBackDialogId() == id; - }else{ + } else { return getOpenInterfaceId() == id; } } /** * Clicks an option from the given back dialog + * * @param index Index of the requested option whereas you start at 0 */ public static void clickBackDialogOption(int index) { diff --git a/src/main/java/org/rev317/min/api/methods/Inventory.java b/src/main/java/org/rev317/min/api/methods/Inventory.java index bc925e6..86015b7 100644 --- a/src/main/java/org/rev317/min/api/methods/Inventory.java +++ b/src/main/java/org/rev317/min/api/methods/Inventory.java @@ -296,4 +296,3 @@ public class Inventory { return false; } } - diff --git a/src/main/java/org/rev317/min/api/methods/Menu.java b/src/main/java/org/rev317/min/api/methods/Menu.java index c069c70..703a228 100644 --- a/src/main/java/org/rev317/min/api/methods/Menu.java +++ b/src/main/java/org/rev317/min/api/methods/Menu.java @@ -32,10 +32,9 @@ public class Menu { /** * Interacts with a sceneobject * - * @deprecated - * * @param object * @param actionIndex + * @deprecated */ public static void interact(SceneObject object, int actionIndex) { int actionId = SceneObjects.Option.FIRST.getActionId(); @@ -86,10 +85,9 @@ public class Menu { /** * Interacts with a character * - * @deprecated - * * @param character * @param actionIndex + * @deprecated */ public static void interact(Character character, int actionIndex) { int actionId = 20; @@ -129,11 +127,10 @@ public class Menu { /** * Interacts with an item when it has the following menu Transform-1 Transform-5 Transform-10 etc.. * - * @deprecated - * * @param item * @param actionIndex * @param interfaceParentId + * @deprecated */ public static void transformItem(Item item, int actionIndex, int interfaceParentId) { @@ -181,10 +178,9 @@ public class Menu { /** * Interacts with a ground item * - * @deprecated - * * @param item * @param action + * @deprecated */ public static void interact(GroundItem item, int action) { int actionId = GroundItems.Option.FIRST.getActionId(); @@ -208,16 +204,16 @@ public class Menu { sendAction(actionId, item.getId(), item.getX(), item.getY()); } - public static void interact(Item item, Items.Option action){ + public static void interact(Item item, Items.Option action) { sendAction(action.getActionId(), item.getId() - 1, item.getSlot(), 3214); } /** * @deprecated */ - public static void interact(Item item, int action){ + public static void interact(Item item, int action) { int actionId = 447; - switch (action){ + switch (action) { case 0: actionId = 447; break; @@ -237,9 +233,9 @@ public class Menu { /** * @deprecated */ - public static void interact(Item item, String action){ + public static void interact(Item item, String action) { int actionId = 447; - switch (action.toLowerCase()){ + switch (action.toLowerCase()) { case "use": actionId = 447; break; @@ -317,7 +313,6 @@ public class Menu { * @param index */ public static void sendAction(int action, int cmd1, int cmd2, int cmd3, int cmd4, int index) { - Client client = Loader.getClient(); client.getMenuAction1()[index] = cmd1; diff --git a/src/main/java/org/rev317/min/api/methods/Prayer.java b/src/main/java/org/rev317/min/api/methods/Prayer.java index 6c7ebe3..ceb97d0 100644 --- a/src/main/java/org/rev317/min/api/methods/Prayer.java +++ b/src/main/java/org/rev317/min/api/methods/Prayer.java @@ -105,26 +105,26 @@ public class Prayer { } public enum Curse implements Book { - PROTECT_ITEM_CURSE(0, 0, 50), - SAP_WARRIOR(0, 0, 50), - SAP_RANGER(0, 0, 52), - SAP_MAGE(0, 0, 54), - SAP_SPIRIT(0, 0, 56), - BERSERKER(0, 0, 59), - DEFLECT_SUMMONING(0, 0, 62), - DEFLECT_MAGIC(0, 0, 65), - DEFLECT_MISSILE(0, 0, 68), - DEFLECT_MELEE(0, 0, 71), - LEECH_ATTACK(0, 0, 74), - LEECH_RANGE(0, 0, 76), - LEECH_MAGIC(0, 0, 78), - LEECH_DEFENCE(0, 0, 80), - LEECH_STRENGTH(0, 0, 82), - LEECH_ENERGY(0, 0, 84), - LEECH_SPECIAL_ATTACK(0, 0, 86), - WRATH(0, 0, 89), - SOUL_SPLIT(0, 0, 92), - TURMOIL(0, 0, 95); + PROTECT_ITEM_CURSE(601, 22503, 50), + SAP_WARRIOR(611, 22505, 50), + SAP_RANGER(612, 22507, 52), + SAP_MAGE(613, 22509, 54), + SAP_SPIRIT(614, 22511, 56), + BERSERKER(615, 22513, 59), + DEFLECT_SUMMONING(616, 22515, 62), + DEFLECT_MAGIC(617, 22517, 65), + DEFLECT_MISSILE(618, 22519, 68), + DEFLECT_MELEE(619, 22521, 71), + LEECH_ATTACK(620, 22523, 74), + LEECH_RANGE(621, 22525, 76), + LEECH_MAGIC(622, 22527, 78), + LEECH_DEFENCE(623, 22529, 80), + LEECH_STRENGTH(624, 22531, 82), + LEECH_ENERGY(625, 22533, 84), + LEECH_SPECIAL_ATTACK(626, 22535, 86), + WRATH(627, 22537, 89), + SOUL_SPLIT(628, 22539, 92), + TURMOIL(629, 22541, 95); private int setting; private int action; diff --git a/src/main/java/org/rev317/min/api/methods/Walking.java b/src/main/java/org/rev317/min/api/methods/Walking.java index bbce3b8..4cc026a 100644 --- a/src/main/java/org/rev317/min/api/methods/Walking.java +++ b/src/main/java/org/rev317/min/api/methods/Walking.java @@ -1,5 +1,7 @@ package org.rev317.min.api.methods; + +import org.parabot.core.Context; import org.rev317.min.Loader; import org.rev317.min.api.wrappers.Tile; import org.rev317.min.api.wrappers.TilePath; @@ -16,7 +18,11 @@ public class Walking { * @param to Tile to Walk To. */ public static void walkTo(Tile from, Tile to) { - Loader.getClient().walkTo(0, 0, 0, 0, from.getRegionY(), 0, 0, to.getRegionY(), from.getRegionX(), true, to.getRegionX()); + if (Context.getInstance().getServerProviderInfo().getServerName().equalsIgnoreCase("pkhonor")) { + Loader.getClient().walkToPKH(false, false, 0, 0, 0, 0, from.getLocation().getRegionY(), 0, 0, to.getRegionY(), from.getLocation().getRegionX(), true, to.getRegionX()); + } else { + Loader.getClient().walkTo(0, 0, 0, 0, from.getRegionY(), 0, 0, to.getRegionY(), from.getRegionX(), true, to.getRegionX()); + } } /** @@ -25,7 +31,7 @@ public class Walking { * @param to Destination Tile. */ public static void walkTo(Tile to) { - Loader.getClient().walkTo(0, 0, 0, 0, Players.getMyPlayer().getLocation().getRegionY(), 0, 0, to.getRegionY(), Players.getMyPlayer().getLocation().getRegionX(), true, to.getRegionX()); + walkTo(Players.getMyPlayer().getLocation(), to); } /** diff --git a/src/main/java/org/rev317/min/debug/DInterfaces.java b/src/main/java/org/rev317/min/debug/DInterfaces.java index 045f297..a4cd85d 100644 --- a/src/main/java/org/rev317/min/debug/DInterfaces.java +++ b/src/main/java/org/rev317/min/debug/DInterfaces.java @@ -3,7 +3,7 @@ package org.rev317.min.debug; import org.parabot.core.Context; import org.parabot.core.paint.AbstractDebugger; import org.parabot.core.paint.PaintDebugger; -import org.rev317.min.api.methods.Game; +import org.rev317.min.api.methods.Interfaces; import java.awt.*; @@ -13,8 +13,8 @@ public class DInterfaces extends AbstractDebugger { @Override public void paint(Graphics g) { PaintDebugger p = Context.getInstance().getPaintDebugger(); - p.addLine("Open interface: " + Game.getOpenInterfaceId()); - p.addLine("Open back dialog: " + Game.getOpenBackDialogId()); + p.addLine("Open interface: " + Interfaces.getOpenInterfaceId()); + p.addLine("Open back dialog: " + Interfaces.getBackDialogId()); } @Override diff --git a/src/main/java/org/rev317/min/ui/BotMenu.java b/src/main/java/org/rev317/min/ui/BotMenu.java index 0654f24..8e3ce45 100644 --- a/src/main/java/org/rev317/min/ui/BotMenu.java +++ b/src/main/java/org/rev317/min/ui/BotMenu.java @@ -65,18 +65,19 @@ public class BotMenu implements ActionListener { debug.add(players); actions.addSeparator(); + + ButtonGroup group = new ButtonGroup(); for (int i = 0; i < MenuAction.getOutputs().length; i++){ final int index = i; - JMenuItem debugOutput = new JCheckBoxMenuItem("Output: " + index); + JMenuItem debugOutput = new JRadioButtonMenuItem("Output: " + index); debugOutput.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { MenuAction.setCurrentOutputIndex(index); + } }); - if (i == 0){ - debugOutput.setEnabled(true); - } + group.add(debugOutput); actions.add(debugOutput); }