diff --git a/README.md b/README.md
index d63298d308..70f1c15b43 100644
--- a/README.md
+++ b/README.md
@@ -3,27 +3,33 @@
# RuneLitePlus
-[](https://forthebadge.com)
-
-[](https://travis-ci.org/runelite-extended/runelite) [](http://makeapullrequest.com) [](http://hits.dwyl.io/runelite-extended/runelite) [](https://www.patreon.com/RuneLitePlus)
-
-[RuneLitePlus](https://runelitepl.us) is an extended version of [RuneLite](https://github.com/runelite/runelite) that provides more functionality and less restrictions while staying more open-source.
-
-
+[](https://travis-ci.org/runelite-extended/runelite)
+[](http://hits.dwyl.io/runelite-extended/runelite)
+[RuneLitePlus](https://runelitepl.us) is an extended version of [RuneLite](https://github.com/runelite/runelite) that provides more functionality and less restrictions while staying more open-source. We are not affiliated with RuneLite.
## Discord
-![[Discord]](https://discordapp.com/api/guilds/373382904769675265/widget.png?style=banner2)
+[](https://discord.gg/HN5gf3m)
## Project Layout
- [cache](cache/src/main/java/net/runelite/cache) - Libraries used for reading/writing cache files, as well as the data in it
+- [deobfuscator](deobfuscator/src/main/java/net/runelite/deob) - Can decompile and cleanup gamepacks as well as map updates to newer revs
- [http-api](http-api/src/main/java/net/runelite/http/api) - API for runelite and runeliteplus
- [http-service](http-service/src/main/java/net/runelite/http/service) - Service for https://api.runelitepl.us
+- [injector-plugin](injector-plugin/src/main/java/net/runelite/injector) - Tool for implementing our modifications to the gamepack
- [runelite-api](runelite-api/src/main/java/net/runelite/api) - RuneLite API, interfaces for accessing the client
-- [runelite-mixins](runelite-mixins/src/main/java/net/runelite) - Mixins which are injected into the vanilla client's classes
+- [runelite-mixins](runelite-mixins/src/main/java/net/runelite) - Classes containing the Objects to be injected using the injector-plugin
- [runescape-api](runescape-api/src/main/java/net/runelite) - Mappings correspond to these interfaces, runelite-api is a subset of this
- [runelite-client](runelite-client/src/main/java/net/runelite/client) - Game client with plugins
+## Private Servers
+Currently we support RSMod which can be found at: https://github.com/Tomm0017/rsmod
+```
+Use -local-injected and -private-server args.
+Replace modulus in RSBufferMixin.
+Set codebase in PrivateRSAppletStub.
+Disable Default World plugin if you have it enabled, this causes issues with codebase.
+```
## License
RuneLitePlus is licensed under the BSD 2-clause license. See the license header in the respective file to be sure.
diff --git a/live/bootstrap.json b/live/bootstrap.json
index e372264b28..94cd3c7a1b 100644
--- a/live/bootstrap.json
+++ b/live/bootstrap.json
@@ -56,10 +56,10 @@
"size": "3168921"
},
{
- "hash": "d982191ebbd930b573e6d2242cdfefefdf1c610f1f046e204866749eefde1c5f",
+ "hash": "e25ba84d1b376ed44b9ecdc72a23db55e2127c1079507ab79d0d2d2e3cae7d0d",
"name": "client-1.5.30-SNAPSHOT.jar",
"path": "https://raw.githubusercontent.com/runelite-extended/maven-repo/master/live/client-1.5.30-SNAPSHOT.jar",
- "size": "6280727"
+ "size": "6287131"
},
{
"hash": "18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79",
@@ -248,10 +248,10 @@
"size": "2327547"
},
{
- "hash": "c0a81abdd6a7486851ef7f0df2ce70d7e362fb033eb5c4267a4a476e35a1824a",
+ "hash": "62e5ffeaef627f96c08f7ba203ac15bec1e6d1bc975e43f94b9fd0affe8fc53a",
"name": "runelite-api-1.5.30-SNAPSHOT.jar",
"path": "https://raw.githubusercontent.com/runelite-extended/maven-repo/master/live/runelite-api-1.5.30-SNAPSHOT.jar",
- "size": "1033784"
+ "size": "1033835"
},
{
"hash": "e8e743c2eb9e59f2990a5bdc48f061b7138890f065c0d603ecb8cdf0b0b158f7",
@@ -260,7 +260,7 @@
"size": "58398"
},
{
- "hash": "fea59d29ac883248bcc77a5f05b0cefebc226583d291f52d377e39db06fe7d19",
+ "hash": "d6fd6564dcbbaa68259d675a6f4928cf44394f04963917f08d2c1c179eee829d",
"name": "http-api-1.5.30-SNAPSHOT.jar",
"path": "https://raw.githubusercontent.com/runelite-extended/maven-repo/master/live/http-api-1.5.30-SNAPSHOT.jar",
"size": "139678"
@@ -290,10 +290,10 @@
"size": "617294"
},
{
- "hash": "9f5333cb045ebd90b1ee457f1ceafc1a085265232926a24fb582ff1960bef703",
+ "hash": "efeddd377fb52fcb8298d016277299316b4637be9e52a51cc2bea980610c6b1b",
"name": "injected-client-1.5.30-SNAPSHOT.jar",
"path": "https://raw.githubusercontent.com/runelite-extended/maven-repo/master/live/injected-client-1.5.30-SNAPSHOT.jar",
- "size": "2253443"
+ "size": "2253211"
},
{
"hash": "21b5cac673a156cd8d6cf9efe15ff267b6353eeb129678aa4b39542683ba0dc2",
@@ -308,7 +308,7 @@
"size": "27750"
},
{
- "hash": "830a08b9d5c20ab8e2033c16fc6ee067e6ffcd0c730f303d648aadfa81210d62",
+ "hash": "cc09ab0b140e0d0496c2165d4b32ce24f4d6446c0a26c5dc77b06bdf99ee8fae",
"name": "reactive-streams-1.0.2.jar",
"path": "https://raw.githubusercontent.com/runelite-extended/maven-repo/master/artifacts/reactive-streams-1.0.2.jar",
"size": "27750"
diff --git a/params.txt b/params.txt
new file mode 100644
index 0000000000..f6a66a22f3
--- /dev/null
+++ b/params.txt
@@ -0,0 +1,24 @@
+Created at Thu Jul 18 15:08:02 CDT 2019
+
+codebase=http://oldschool14.runescape.com/
+mainclass=client.class
+
+param=1=1
+param=2=https://payments.jagex.com/operator/v1/
+param=3=true
+param=4=59193
+param=5=1
+param=6=0
+param=7=0
+param=8=true
+param=9=ElZAIrq5NpKN6D3mDdihco3oPeYN2KFy2DCquj7JMmECPmLrDP3Bnw
+param=10=5
+param=11=https://auth.jagex.com/
+param=12=314
+param=13=.runescape.com
+param=14=0
+param=15=0
+param=16=false
+param=17=http://www.runescape.com/g=oldscape/slr.ws?order=LPWM
+param=18=
+param=19=196515767263-1oo20deqm6edn7ujlihl6rpadk9drhva.apps.googleusercontent.com
diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml
index 2313bd41fc..1363d27664 100644
--- a/runelite-client/pom.xml
+++ b/runelite-client/pom.xml
@@ -199,12 +199,6 @@
${project.version}
runtime
-
- net.runelite
- injected-client
- ${project.version}
- runtime
-
net.runelite
http-api
diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java
index 250b90f877..3cc75969f1 100644
--- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java
+++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java
@@ -82,7 +82,7 @@ import org.slf4j.LoggerFactory;
@Slf4j
public class RuneLite
{
- public static final String RUNELIT_VERSION = "2.0.4";
+ public static final String RUNELIT_VERSION = "2.0.5";
public static final File RUNELITE_DIR = new File(System.getProperty("user.home"), ".runelite");
public static final File PROFILES_DIR = new File(RUNELITE_DIR, "profiles");
public static final File PLUGIN_DIR = new File(RUNELITE_DIR, "plugins");
@@ -181,6 +181,7 @@ public class RuneLite
parser.accepts("debug", "Show extra debugging output");
parser.accepts("no-splash", "Do not show the splash screen");
parser.accepts("local-injected", "Use local injected-client");
+ parser.accepts("private-server", "Use a non official server to play");
final ArgumentAcceptingOptionSpec proxyInfo = parser
.accepts("proxy")
@@ -251,6 +252,13 @@ public class RuneLite
}
}
+ final boolean privateServer = options.has("private-server");
+
+ if (privateServer)
+ {
+ ClientLoader.usePrivateServer = true;
+ }
+
PROFILES_DIR.mkdirs();
if (options.has("debug"))
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationConfig.java
index b0c4a1f580..d50a6b18ca 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationConfig.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationConfig.java
@@ -51,7 +51,7 @@ public interface ChatTranslationConfig extends Config
@ConfigItem(
keyName = "publicTargetLanguage",
name = "Target Language",
- description = "Language to translate messages too.",
+ description = "Language to translate messages to.",
position = 2,
group = "Chat Translation",
hidden = true,
@@ -77,7 +77,7 @@ public interface ChatTranslationConfig extends Config
@ConfigItem(
keyName = "playerTargetLanguage",
name = "Target Language",
- description = "Language to translate messages too.",
+ description = "Language to translate messages to.",
position = 4,
group = "Player Message Translation",
hidden = true,
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java
index afd9b1de9a..3f06041e24 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java
@@ -35,6 +35,7 @@ import java.awt.image.BufferedImage;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Map;
+import java.util.Objects;
import java.util.concurrent.ScheduledExecutorService;
import javax.inject.Inject;
import javax.inject.Singleton;
@@ -60,6 +61,7 @@ import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.FocusChanged;
import net.runelite.api.events.GameStateChanged;
+import net.runelite.api.events.GameTick;
import net.runelite.api.events.GrandExchangeOfferChanged;
import net.runelite.api.events.MenuEntryAdded;
import net.runelite.api.events.ScriptCallbackEvent;
@@ -98,20 +100,18 @@ import net.runelite.http.api.osbuddy.OSBGrandExchangeClient;
@Singleton
public class GrandExchangePlugin extends Plugin
{
+ static final String SEARCH_GRAND_EXCHANGE = "Search Grand Exchange";
+ private static final int OFFER_TYPE = 18;
private static final int OFFER_CONTAINER_ITEM = 21;
private static final int OFFER_DEFAULT_ITEM_ID = 6512;
private static final OSBGrandExchangeClient CLIENT = new OSBGrandExchangeClient();
private static final String OSB_GE_TEXT = "
OSBuddy Actively traded price: ";
-
- private static final String BUY_LIMIT_GE_TEXT = "Buy limit: ";
- private static final String AFFORD_GE_TEXT = "
Afford: ";
+ private static final String AFFORD_GE_TEXT = "
Can Afford: ";
+ private static final String BUY_LIMIT_GE_TEXT = "
Buy limit: ";
private static final Gson GSON = new Gson();
private static final TypeToken