From a622952623f6f156796cc859e5d51d2433650c33 Mon Sep 17 00:00:00 2001 From: Fryslan Date: Sun, 26 Jun 2016 20:59:24 +0200 Subject: [PATCH 1/7] [CLASS UPDATE] Added Path Distance Calculations. --- .../rev317/min/api/methods/Calculations.java | 74 ++++++++++++++++++- 1 file changed, 71 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/rev317/min/api/methods/Calculations.java b/src/main/java/org/rev317/min/api/methods/Calculations.java index 9151b2e..1f7192e 100644 --- a/src/main/java/org/rev317/min/api/methods/Calculations.java +++ b/src/main/java/org/rev317/min/api/methods/Calculations.java @@ -11,7 +11,6 @@ public class Calculations { * Calculates distance between local player and given tile * * @param tile - * * @return distance between local player and given tile */ public static final double distanceTo(Tile tile) { @@ -23,7 +22,6 @@ public class Calculations { * * @param a * @param b - * * @return distance between a and b */ public static final double distanceBetween(Tile a, Tile b) { @@ -39,7 +37,6 @@ public class Calculations { * @param destX the destX (0 < destX < 104) * @param destY the destY (0 < destY < 104) * @param findAdjacent if it's an object, it will find path which touches it. - * * @return The distance of the shortest path to the destination; or -1 if no valid path to the destination was * found. */ @@ -153,6 +150,77 @@ public class Calculations { } } + /** + * Uses Dijkstra path finding algorithm to find shortest path returns false if path isn't found. + * + * @param from Start Tile. + * @param to Destination Tile. + * @return True if Path is found. + */ + public static boolean foundPath(Tile from, Tile to) { + return dijkstraDist(from.getX(), from.getY(), to.getX(), to.getY(), false) != -1; + } + /** + * Uses Dijkstra path finding algorithm to find shortest path returns false if path isn't found. + * + * @param from Start Tile. + * @param to Destination Tile. + * @param isObject Is destination an Object. + * @return True if Path is found. + */ + public static boolean foundPath(Tile from, Tile to, boolean isObject) { + return dijkstraDist(from.getX(), from.getY(), to.getX(), to.getY(), isObject) != -1; + } + + /** + * Gets the Shortest Path distance between two tiles. + * + * @param from Start Tile. + * @param to Destination Tile. + * @return Shortest Path distance between two tiles using Dijkstra algorithm, returns -1 if path isn't found. + */ + public static int pathDistanceBetween(Tile from, Tile to) { + if (foundPath(from, to)) { + return dijkstraDist(from.getX(), from.getY(), to.getX(), to.getY(), false); + } + return -1; + } + + /** + * Gets the Shortest Path distance between two tiles. + * + * @param from Start Tile. + * @param to Destination Tile. + * @param isObject Is destination an Object. + * @return Shortest Path distance between two tiles using Dijkstra algorithm, returns -1 if path isn't found. + */ + public static int pathDistanceBetween(Tile from, Tile to, boolean isObject) { + if (foundPath(from, to)) { + return dijkstraDist(from.getX(), from.getY(), to.getX(), to.getY(), isObject); + } + return -1; + } + + /** + * Gets the shortest distance to a tile. + * + * @param tile Destination Tile. + * @return Shortest distance to tile. + */ + public static int pathDistanceTo(Tile tile) { + return pathDistanceBetween(Players.getMyPlayer().getLocation(), tile); + } + + /** + * Gets the shortest distance to a tile. + * + * @param tile Destination Tile. + * @param isObject Is destination an Object. + * @return Shortest distance to tile. + */ + public static int pathDistanceTo(Tile tile, boolean isObject) { + return pathDistanceBetween(Players.getMyPlayer().getLocation(), tile, isObject); + } } From 3639499a180a1f1448ca12e6a39c0a6bc691af98 Mon Sep 17 00:00:00 2001 From: Fryslan Date: Sun, 26 Jun 2016 21:32:45 +0200 Subject: [PATCH 2/7] [CLASS UPDATE] Removing redundant modifiers int Locatable interface --- src/main/java/org/rev317/min/api/interfaces/Locatable.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/rev317/min/api/interfaces/Locatable.java b/src/main/java/org/rev317/min/api/interfaces/Locatable.java index bf0c144..6424c91 100644 --- a/src/main/java/org/rev317/min/api/interfaces/Locatable.java +++ b/src/main/java/org/rev317/min/api/interfaces/Locatable.java @@ -12,13 +12,13 @@ public interface Locatable { * * @return location */ - public Tile getLocation(); + Tile getLocation(); /** * Gets distance to this locatable instance * * @return distance from player to locatable */ - public int distanceTo(); + int distanceTo(); } From 34dedfb09619754270d0e16bf8f1806439a6d487 Mon Sep 17 00:00:00 2001 From: Fryslan Date: Sun, 26 Jun 2016 21:35:39 +0200 Subject: [PATCH 3/7] [CLASS UPDATE] Removing redundant modifiers in multiple interfaces --- .../events/listeners/GameActionListener.java | 2 +- .../api/events/listeners/MessageListener.java | 2 +- .../rev317/min/api/interfaces/TileFlags.java | 24 +++++++++---------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/rev317/min/api/events/listeners/GameActionListener.java b/src/main/java/org/rev317/min/api/events/listeners/GameActionListener.java index 43d1a9c..1852f87 100644 --- a/src/main/java/org/rev317/min/api/events/listeners/GameActionListener.java +++ b/src/main/java/org/rev317/min/api/events/listeners/GameActionListener.java @@ -7,6 +7,6 @@ import org.rev317.min.api.events.GameActionEvent; */ public interface GameActionListener { - public void onGameAction(GameActionEvent event); + void onGameAction(GameActionEvent event); } diff --git a/src/main/java/org/rev317/min/api/events/listeners/MessageListener.java b/src/main/java/org/rev317/min/api/events/listeners/MessageListener.java index 895627f..bad58eb 100644 --- a/src/main/java/org/rev317/min/api/events/listeners/MessageListener.java +++ b/src/main/java/org/rev317/min/api/events/listeners/MessageListener.java @@ -5,7 +5,7 @@ import org.rev317.min.api.events.MessageEvent; public interface MessageListener { - public void messageReceived(MessageEvent event); + void messageReceived(MessageEvent event); } diff --git a/src/main/java/org/rev317/min/api/interfaces/TileFlags.java b/src/main/java/org/rev317/min/api/interfaces/TileFlags.java index bf386b6..4ff0911 100644 --- a/src/main/java/org/rev317/min/api/interfaces/TileFlags.java +++ b/src/main/java/org/rev317/min/api/interfaces/TileFlags.java @@ -2,17 +2,17 @@ package org.rev317.min.api.interfaces; public interface TileFlags { - public int WALL_NORTHWEST = 0x1; - public int WALL_NORTH = 0x2; - public int WALL_NORTHEAST = 0x4; - public int WALL_EAST = 0x8; - public int WALL_SOUTHEAST = 0x10; - public int WALL_SOUTH = 0x20; - public int WALL_SOUTHWEST = 0x40; - public int WALL_WEST = 0x80; - public int OBJECT_TILE = 0x100; - public int UNKNOWN = 0x80000; - public int BLOCKED_TILE = 0x200000; - public int UNLOADED_TILE = 0x1000000; + int WALL_NORTHWEST = 0x1; + int WALL_NORTH = 0x2; + int WALL_NORTHEAST = 0x4; + int WALL_EAST = 0x8; + int WALL_SOUTHEAST = 0x10; + int WALL_SOUTH = 0x20; + int WALL_SOUTHWEST = 0x40; + int WALL_WEST = 0x80; + int OBJECT_TILE = 0x100; + int UNKNOWN = 0x80000; + int BLOCKED_TILE = 0x200000; + int UNLOADED_TILE = 0x1000000; } From a3b50964ea3ef6e29c78873769e090ac37e7ad4d Mon Sep 17 00:00:00 2001 From: Fryslan Date: Sun, 26 Jun 2016 21:54:29 +0200 Subject: [PATCH 4/7] [CLEANUP] Removing redundant modifiers in multiple interfaces --- .../org/rev317/min/accessors/Character.java | 14 ++--- .../java/org/rev317/min/accessors/Client.java | 52 +++++++++---------- .../rev317/min/accessors/CollisionMap.java | 2 +- .../java/org/rev317/min/accessors/Deque.java | 4 +- .../java/org/rev317/min/accessors/Ground.java | 10 ++-- .../org/rev317/min/accessors/Interface.java | 8 +-- .../java/org/rev317/min/accessors/Item.java | 2 +- .../java/org/rev317/min/accessors/Node.java | 2 +- .../java/org/rev317/min/accessors/Npc.java | 2 +- .../java/org/rev317/min/accessors/NpcDef.java | 2 +- .../java/org/rev317/min/accessors/Scene.java | 2 +- .../rev317/min/accessors/SceneObjectTile.java | 2 +- 12 files changed, 51 insertions(+), 51 deletions(-) diff --git a/src/main/java/org/rev317/min/accessors/Character.java b/src/main/java/org/rev317/min/accessors/Character.java index 148f9ab..0502d5c 100644 --- a/src/main/java/org/rev317/min/accessors/Character.java +++ b/src/main/java/org/rev317/min/accessors/Character.java @@ -2,19 +2,19 @@ package org.rev317.min.accessors; public interface Character { - public int getX(); + int getX(); - public int getY(); + int getY(); - public int getAnimation(); + int getAnimation(); - public int getLoopCycleStatus(); + int getLoopCycleStatus(); - public int getCurrentHealth(); + int getCurrentHealth(); - public int getMaxHealth(); + int getMaxHealth(); - public int getInteractingEntity(); + int getInteractingEntity(); String getName(); } diff --git a/src/main/java/org/rev317/min/accessors/Client.java b/src/main/java/org/rev317/min/accessors/Client.java index a5fb9f2..f9555de 100644 --- a/src/main/java/org/rev317/min/accessors/Client.java +++ b/src/main/java/org/rev317/min/accessors/Client.java @@ -2,56 +2,56 @@ package org.rev317.min.accessors; public interface Client { - public Scene getScene(); + Scene getScene(); - public Player getMyPlayer(); + Player getMyPlayer(); - public Interface[] getInterfaceCache(); + Interface[] getInterfaceCache(); - public Npc[] getNpcs(); + Npc[] getNpcs(); - public Player[] getPlayers(); + Player[] getPlayers(); - public int getOpenInterfaceId(); + int getOpenInterfaceId(); - public int getBaseX(); + int getBaseX(); - public int getBaseY(); + int getBaseY(); - public void setInterface(int id); + void setInterface(int id); - public int[] getCurrentExp(); + int[] getCurrentExp(); - public Deque[][][] getGroundItems(); + Deque[][][] getGroundItems(); - public int getLoopCycle(); + int getLoopCycle(); - public int getBackDialogId(); + int getBackDialogId(); - public int getPlane(); + int getPlane(); - public int[] getMenuActionId(); + int[] getMenuActionId(); - public int[] getMenuAction1(); + int[] getMenuAction1(); - public int[] getMenuAction2(); + int[] getMenuAction2(); - public int[] getMenuAction3(); + int[] getMenuAction3(); - public int[] getMenuAction4(); + int[] getMenuAction4(); - public CollisionMap[] getCollisionMap(); + CollisionMap[] getCollisionMap(); // args switched - public 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 walkTo(int clickType, int sizeX, int sizeY, int startX, int startY, int destX, int destY, int type, int face, boolean arbitrary, int rotation); - public void doAction(int i); + void doAction(int i); - public void dropClient(); + void dropClient(); - public int[] getCurrentStats(); + int[] getCurrentStats(); - public int[] getSettings(); + int[] getSettings(); - public boolean isLoggedIn(); + boolean isLoggedIn(); } diff --git a/src/main/java/org/rev317/min/accessors/CollisionMap.java b/src/main/java/org/rev317/min/accessors/CollisionMap.java index b59c57b..768dec6 100644 --- a/src/main/java/org/rev317/min/accessors/CollisionMap.java +++ b/src/main/java/org/rev317/min/accessors/CollisionMap.java @@ -3,7 +3,7 @@ package org.rev317.min.accessors; public interface CollisionMap { - public int[][] getFlags(); + int[][] getFlags(); } diff --git a/src/main/java/org/rev317/min/accessors/Deque.java b/src/main/java/org/rev317/min/accessors/Deque.java index c1b73cd..6634828 100644 --- a/src/main/java/org/rev317/min/accessors/Deque.java +++ b/src/main/java/org/rev317/min/accessors/Deque.java @@ -2,8 +2,8 @@ package org.rev317.min.accessors; public interface Deque { - public Node getHead(); + Node getHead(); - public Node getCurrent(); + Node getCurrent(); } diff --git a/src/main/java/org/rev317/min/accessors/Ground.java b/src/main/java/org/rev317/min/accessors/Ground.java index 5ca2b8e..38c39b7 100644 --- a/src/main/java/org/rev317/min/accessors/Ground.java +++ b/src/main/java/org/rev317/min/accessors/Ground.java @@ -2,14 +2,14 @@ package org.rev317.min.accessors; public interface Ground { - public SceneObjectTile getWallObject(); + SceneObjectTile getWallObject(); - public SceneObjectTile getWallDecoration(); + SceneObjectTile getWallDecoration(); - public SceneObjectTile getGroundDecoration(); + SceneObjectTile getGroundDecoration(); - public SceneObjectTile getGroundItem(); + SceneObjectTile getGroundItem(); - public SceneObjectTile[] getInteractiveObjects(); + SceneObjectTile[] getInteractiveObjects(); } diff --git a/src/main/java/org/rev317/min/accessors/Interface.java b/src/main/java/org/rev317/min/accessors/Interface.java index b1cd498..f4ea49d 100644 --- a/src/main/java/org/rev317/min/accessors/Interface.java +++ b/src/main/java/org/rev317/min/accessors/Interface.java @@ -2,17 +2,17 @@ package org.rev317.min.accessors; public interface Interface { - public int[] getItems(); + int[] getItems(); - public int[] getStackSizes(); + int[] getStackSizes(); /** * This is meant for the clients that have a long value as their stacksizes, simply because they have no logic... * * @return long version of #getStackSizes */ - public long[] getLongStackSizes(); + long[] getLongStackSizes(); - public String getMessage(); + String getMessage(); } diff --git a/src/main/java/org/rev317/min/accessors/Item.java b/src/main/java/org/rev317/min/accessors/Item.java index 1f9c46c..113cf71 100644 --- a/src/main/java/org/rev317/min/accessors/Item.java +++ b/src/main/java/org/rev317/min/accessors/Item.java @@ -2,7 +2,7 @@ package org.rev317.min.accessors; public interface Item { - public int getId(); + int getId(); } diff --git a/src/main/java/org/rev317/min/accessors/Node.java b/src/main/java/org/rev317/min/accessors/Node.java index 9ecbb2d..32c5aae 100644 --- a/src/main/java/org/rev317/min/accessors/Node.java +++ b/src/main/java/org/rev317/min/accessors/Node.java @@ -2,6 +2,6 @@ package org.rev317.min.accessors; public interface Node { - public Node getNext(); + Node getNext(); } diff --git a/src/main/java/org/rev317/min/accessors/Npc.java b/src/main/java/org/rev317/min/accessors/Npc.java index bb7e68e..22830f8 100644 --- a/src/main/java/org/rev317/min/accessors/Npc.java +++ b/src/main/java/org/rev317/min/accessors/Npc.java @@ -2,6 +2,6 @@ package org.rev317.min.accessors; public interface Npc extends Character { - public NpcDef getDef(); + NpcDef getDef(); } \ No newline at end of file diff --git a/src/main/java/org/rev317/min/accessors/NpcDef.java b/src/main/java/org/rev317/min/accessors/NpcDef.java index 0f346c6..3e71fba 100644 --- a/src/main/java/org/rev317/min/accessors/NpcDef.java +++ b/src/main/java/org/rev317/min/accessors/NpcDef.java @@ -2,6 +2,6 @@ package org.rev317.min.accessors; public interface NpcDef { - public int getId(); + int getId(); } diff --git a/src/main/java/org/rev317/min/accessors/Scene.java b/src/main/java/org/rev317/min/accessors/Scene.java index a659d8f..d6bc2dd 100644 --- a/src/main/java/org/rev317/min/accessors/Scene.java +++ b/src/main/java/org/rev317/min/accessors/Scene.java @@ -2,6 +2,6 @@ package org.rev317.min.accessors; public interface Scene { - public Ground[][][] getGroundArray(); + Ground[][][] getGroundArray(); } diff --git a/src/main/java/org/rev317/min/accessors/SceneObjectTile.java b/src/main/java/org/rev317/min/accessors/SceneObjectTile.java index 793bfd3..51875e5 100644 --- a/src/main/java/org/rev317/min/accessors/SceneObjectTile.java +++ b/src/main/java/org/rev317/min/accessors/SceneObjectTile.java @@ -2,6 +2,6 @@ package org.rev317.min.accessors; public interface SceneObjectTile { - public int getHash(); + int getHash(); } \ No newline at end of file From 0eca674232798d796fc2f118e0a6464fb0ce6240 Mon Sep 17 00:00:00 2001 From: Fryslan Date: Mon, 27 Jun 2016 20:02:48 +0200 Subject: [PATCH 5/7] [CLASS UPDATE]Added #isSameTile to Calculations class --- .../java/org/rev317/min/api/methods/Calculations.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/org/rev317/min/api/methods/Calculations.java b/src/main/java/org/rev317/min/api/methods/Calculations.java index 1f7192e..86e616e 100644 --- a/src/main/java/org/rev317/min/api/methods/Calculations.java +++ b/src/main/java/org/rev317/min/api/methods/Calculations.java @@ -223,4 +223,15 @@ public class Calculations { return pathDistanceBetween(Players.getMyPlayer().getLocation(), tile, isObject); } + /** + * Compares Coordinate data from the first and second tile data. + * + * @param first First tile. + * @param second Second tile. + * @return True if Coordinate data from first and second tiles match. + */ + public static boolean isSameTile(Tile first, Tile second) { + return first.getX() == second.getX() && first.getY() == second.getY() && first.getPlane() == second.getPlane(); + } + } From 67281e33746a7c4bea43ad35de8284099805edef Mon Sep 17 00:00:00 2001 From: Fryslan Date: Mon, 27 Jun 2016 20:42:03 +0200 Subject: [PATCH 6/7] [ADDED CLASS] Added Equipment Class --- .../org/rev317/min/api/methods/Equipment.java | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 src/main/java/org/rev317/min/api/methods/Equipment.java diff --git a/src/main/java/org/rev317/min/api/methods/Equipment.java b/src/main/java/org/rev317/min/api/methods/Equipment.java new file mode 100644 index 0000000..894d2f2 --- /dev/null +++ b/src/main/java/org/rev317/min/api/methods/Equipment.java @@ -0,0 +1,134 @@ +package org.rev317.min.api.methods; + +import org.parabot.environment.api.utils.Time; +import org.parabot.environment.scripts.framework.SleepCondition; +import org.rev317.min.Loader; +import org.rev317.min.api.wrappers.Item; + +/** + * Created by Piet Jetse Heeringa on 27-6-2016. + */ + +public class Equipment { + + /** + * Equips an Item based on the ID of that item. + * + * @param id Item ID to Equip. + */ + public static void equip(final int id) { + Item item = Inventory.getItem(id); + if (item != null) { + item.interact(Items.Option.WEAR); + Time.sleep(new SleepCondition() { + @Override + public boolean isValid() { + return isWearing(id); + } + }, 3000); + } + } + + /** + * UnEquips an Item based on the ID of that item. + * + * @param id Item ID to UnEquip. + */ + public static void unequip(int id) { + for (Slot slot : Slot.values()) { + if (slot.id() == id) { + unequip(slot); + } + } + } + + /** + * UnEquips the item from the given Slot. + * + * @param slot Slot to UnEquip the item from. + */ + public static void unequip(final Slot slot) { + Menu.sendAction(632, slot.id() - 1, slot.slot, 1688, -1, 3); + Time.sleep(new SleepCondition() { + @Override + public boolean isValid() { + return slot.id() == 0; + } + }, 3000); + } + + /** + * Check if the Player is Wearing an Item based on the ID. + * + * @param id ID of the item to check for. + * @return True if the Player is wearing the Item. + */ + public static boolean isWearing(int id) { + for (Slot slot : Slot.values()) { + if (slot.id() == id) { + return true; + } + } + return false; + } + + /** + * Get's the item ID in slot. + * + * @param slot Slot to get the item ID from. + * @return Item ID from given slot. + */ + public static int getItemId(Slot slot) { + return slot.id(); + } + + /** + * Check's if there is an item in the given slot. + * + * @param slot Slot to check for Item. + * @return True if there is an Item in the given slot. + */ + public static boolean hasItem(Slot slot) { + return getItemId(slot) != 0; + } + + /** + * Check's if the given slot is empty. + * + * @param slot Slot to check for Item. + * @return True if the given slot is empty. + */ + public static boolean isEmpty(Slot slot) { + return getItemId(slot) == 0; + } + + public enum Slot { + HEAD(0), + CAPE(1), + AMMULET(2), + WEAPON(3), + BODY(4), + SHIELD(5), + LEGS(7), + GLOVES(9), + BOOTS(10), + RING(12), + AMMO(13); + + private int slot; + private final int INTERFACE_ID = 1688; + + Slot(int slot) { + this.slot = slot; + } + + /** + * Get's the ID of the item in slot. + * + * @return ID of the item in slot. + */ + public int id() { + return Loader.getClient().getInterfaceCache()[INTERFACE_ID].getItems()[slot]; + } + } +} From 00c30d8b52c2e4df3156fc8f5884cf23c1abbbdd Mon Sep 17 00:00:00 2001 From: Fryslan Date: Thu, 7 Jul 2016 21:58:54 +0200 Subject: [PATCH 7/7] [NAMING] Renamed UnEquip to Unequip --- .../java/org/rev317/min/api/methods/Equipment.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/rev317/min/api/methods/Equipment.java b/src/main/java/org/rev317/min/api/methods/Equipment.java index 894d2f2..2a12ea3 100644 --- a/src/main/java/org/rev317/min/api/methods/Equipment.java +++ b/src/main/java/org/rev317/min/api/methods/Equipment.java @@ -6,7 +6,7 @@ import org.rev317.min.Loader; import org.rev317.min.api.wrappers.Item; /** - * Created by Piet Jetse Heeringa on 27-6-2016. + * @author Piet Jetse Heeringa */ public class Equipment { @@ -30,9 +30,9 @@ public class Equipment { } /** - * UnEquips an Item based on the ID of that item. + * Unequips an Item based on the ID of that item. * - * @param id Item ID to UnEquip. + * @param id Item ID to Unequip. */ public static void unequip(int id) { for (Slot slot : Slot.values()) { @@ -43,9 +43,9 @@ public class Equipment { } /** - * UnEquips the item from the given Slot. + * Unequips the item from the given Slot. * - * @param slot Slot to UnEquip the item from. + * @param slot Slot to Unequip the item from. */ public static void unequip(final Slot slot) { Menu.sendAction(632, slot.id() - 1, slot.slot, 1688, -1, 3);