diff --git a/.travis/release.sh b/.travis/release.sh
old mode 100644
new mode 100755
diff --git a/pom.xml b/pom.xml
index 8a41e1e..ed59980 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.parabot
317-api-minified
- 1.201
+ 1.202
Parabot 317-API-Minified
@@ -35,7 +35,19 @@
org.parabot
client
- 2.6.0
+ 2.6.1
+
+
+ *
+ *
+
+
+ provided
+
+
+ org.parabot
+ internal-api
+ 1.4.45
@@ -75,6 +87,74 @@
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.10.4
+
+
+ attach-javadocs
+
+ jar
+
+ deploy
+
+
+
+ ${project.name} V${project.version}
+ false
+ true
+ ${project.build.directory}/apidocs/${project.version}
+ -Xdoclint:none
+
+
+
+
+ maven-site-plugin
+ 3.5.1
+
+
+ attach-descriptor
+
+ attach-descriptor
+
+
+
+
+
+
+
+ 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
+
+
+
\ 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 9fbed8f..ecffb6d 100644
--- a/src/main/java/org/rev317/min/accessors/Client.java
+++ b/src/main/java/org/rev317/min/accessors/Client.java
@@ -30,8 +30,6 @@ public interface Client {
int getBackDialogId();
- int getInputDialogState();
-
int getPlane();
int[] getMenuActionId();
@@ -62,4 +60,12 @@ public interface Client {
int[] getSettings();
boolean isLoggedIn();
+
+ int getInputDialogState();
+
+ long[] getFriendsListAsLong();
+
+ void addFriend(long id);
+
+ void deleteFriend(long id);
}
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 462fceb..27856fb 100644
--- a/src/main/java/org/rev317/min/api/methods/Game.java
+++ b/src/main/java/org/rev317/min/api/methods/Game.java
@@ -1,11 +1,12 @@
package org.rev317.min.api.methods;
+import org.parabot.api.misc.TextUtils;
import org.parabot.environment.api.utils.Time;
import org.parabot.environment.scripts.framework.SleepCondition;
import org.rev317.min.Loader;
/**
- * @author Everel, JKetelaar
+ * @author Everel, JKetelaar, EmmaStone
*/
public class Game {
@@ -77,6 +78,15 @@ public class Game {
return Loader.getClient().getPlane();
}
+ /**
+ * Gets the friends list long values
+ *
+ * @return long values of friends list
+ */
+ public static long[] getFriendsListAsLong() {
+ return Loader.getClient().getFriendsListAsLong();
+ }
+
/**
* Determines whether this client has action 4 hooked
*
@@ -160,4 +170,20 @@ public class Game {
public static void login(String username, String password) {
login(username, password, false);
}
+
+ /**
+ * Adds friend
+ * @param username String
+ */
+ public static void addFriend(String username) {
+ Loader.getClient().addFriend(TextUtils.longForName(TextUtils.fixName(username)));
+ }
+
+ /**
+ * Deletes friend
+ * @param username String
+ */
+ public static void deleteFriend(String username) {
+ Loader.getClient().deleteFriend(TextUtils.longForName(TextUtils.fixName(username)));
+ }
}
diff --git a/src/main/java/org/rev317/min/api/methods/Trading.java b/src/main/java/org/rev317/min/api/methods/Trading.java
index 26c89e0..89f98c0 100644
--- a/src/main/java/org/rev317/min/api/methods/Trading.java
+++ b/src/main/java/org/rev317/min/api/methods/Trading.java
@@ -24,7 +24,7 @@ public class Trading {
* @return True if the requested screen is open
*/
public static boolean isOpen(boolean first){
- return Loader.getClient().getOpenInterfaceId() == (first ? settings.get("first_trade_interface_id") : settings.get("second_trade_interface_id"));
+ return Interfaces.getOpenInterfaceId() == (first ? settings.get("first_trade_interface_id") : settings.get("second_trade_interface_id"));
}
/**
@@ -32,7 +32,7 @@ public class Trading {
* @return True if open, false if not open
*/
public static boolean isOpen(){
- return Loader.getClient().getOpenInterfaceId() == settings.get("first_trade_interface_id") || Loader.getClient().getOpenInterfaceId() == settings.get("second_trade_interface_id");
+ return Interfaces.getOpenInterfaceId() == settings.get("first_trade_interface_id") || Interfaces.getOpenInterfaceId() == settings.get("second_trade_interface_id");
}
/**
@@ -75,7 +75,7 @@ public class Trading {
private static int[] getItemIDs(int interfaceID) {
Interface i;
- if ((i = Loader.getClient().getInterfaceCache()[interfaceID]) != null) {
+ if ((i = Interfaces.getInterfaces()[interfaceID]) != null) {
int[] items;
if ((items = i.getItems()) != null && items.length > 0) {
return items;
@@ -87,7 +87,7 @@ public class Trading {
private static int[] getItemStacks(int interfaceID) {
Interface i;
- if ((i = Loader.getClient().getInterfaceCache()[interfaceID]) != null) {
+ if ((i = Interfaces.getInterfaces()[interfaceID]) != null) {
int[] stacks;
if ((stacks = i.getStackSizes()) != null && stacks.length > 0) {
return stacks;
@@ -97,22 +97,32 @@ public class Trading {
}
/**
- * TODO Figure a way to use packets instead
+ * TODO: Add the id into the settings
+ *
* Accepts the offer and hits the button to continue to the second screen
*/
public static void acceptOffer() {
- Time.sleep(500, 750);
- Mouse.getInstance().click(260, 190, true);
- Time.sleep(500, 750);
+ Menu.clickButton(3420);
+ Time.sleep(new SleepCondition() {
+ @Override
+ public boolean isValid() {
+ return Interfaces.getOpenInterfaceId() == settings.get("second_trade_interface_id");
+ }
+ }, 2500);
}
/**
- * TODO Figure a way to use packets instead
+ * TODO: Add the id into the settings
+ *
* Accepts the trade and hits the button to complete the trade
*/
public static void acceptTrade() {
- Time.sleep(500, 750);
- Mouse.getInstance().click(230, 310, true);
- Time.sleep(500, 750);
+ Menu.clickButton(3546);
+ Time.sleep(new SleepCondition() {
+ @Override
+ public boolean isValid() {
+ return !isOpen();
+ }
+ }, 2500);
}
}