Merge branch 'master' into param
This commit is contained in:
@@ -1,11 +1,13 @@
|
|||||||
exclude-labels:
|
exclude-labels:
|
||||||
- 'skip-changelog'
|
- 'skip-changelog'
|
||||||
- 'automated-pull-request'
|
- 'automated-pull-request'
|
||||||
|
- 'upstream'
|
||||||
categories:
|
categories:
|
||||||
- title: '🚀 Features'
|
- title: '🚀 Features'
|
||||||
labels:
|
labels:
|
||||||
- 'feature'
|
- 'feature'
|
||||||
- 'enhancement'
|
- 'enhancement'
|
||||||
|
- 'feature-request'
|
||||||
- title: '🐛 Bug Fixes'
|
- title: '🐛 Bug Fixes'
|
||||||
labels:
|
labels:
|
||||||
- 'fix'
|
- 'fix'
|
||||||
|
|||||||
@@ -12,10 +12,6 @@ jobs:
|
|||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
- name: Make gradlew executable
|
- name: Make gradlew executable
|
||||||
run: chmod +x ./gradlew
|
run: chmod +x ./gradlew
|
||||||
- name: Set up JDK 11
|
|
||||||
uses: actions/setup-java@v1
|
|
||||||
with:
|
|
||||||
java-version: 11
|
|
||||||
- name: Update Gradle Wrapper
|
- name: Update Gradle Wrapper
|
||||||
run: ./gradlew wrapper --gradle-version $(curl -s https://api.github.com/repos/gradle/gradle/releases/latest | grep -Po '"name":.*?[^\\]",' | sed -r 's/[\"name:, ]+//g') --distribution-type all --console=plain
|
run: ./gradlew wrapper --gradle-version $(curl -s https://api.github.com/repos/gradle/gradle/releases/latest | grep -Po '"name":.*?[^\\]",' | sed -r 's/[\"name:, ]+//g') --distribution-type all --console=plain
|
||||||
- name: Create Gradle wrapper update Pull Request
|
- name: Create Gradle wrapper update Pull Request
|
||||||
@@ -27,3 +23,22 @@ jobs:
|
|||||||
PULL_REQUEST_BODY: This is an auto-generated PR with an updated gradle version
|
PULL_REQUEST_BODY: This is an auto-generated PR with an updated gradle version
|
||||||
COMMIT_MESSAGE: 'project: Update gradle wrapper'
|
COMMIT_MESSAGE: 'project: Update gradle wrapper'
|
||||||
PULL_REQUEST_LABELS: automated-pull-request, gradle
|
PULL_REQUEST_LABELS: automated-pull-request, gradle
|
||||||
|
|
||||||
|
update-dependencies:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: Make gradlew executable
|
||||||
|
run: chmod +x ./gradlew
|
||||||
|
- name: Update Gradle Dependencies
|
||||||
|
run: ./gradlew useLatestVersions --console=plain
|
||||||
|
- name: Create Gradle dependencies update Pull Request
|
||||||
|
uses: Owain94/create-pull-request@master
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.Owain }}
|
||||||
|
PULL_REQUEST_BRANCH: GRADLE-DEPS-UPDATE
|
||||||
|
PULL_REQUEST_TITLE: 'project: Update gradle dependencies'
|
||||||
|
PULL_REQUEST_BODY: This is an auto-generated PR with updated gradle dependencies
|
||||||
|
COMMIT_MESSAGE: 'project: Update gradle dependencies'
|
||||||
|
PULL_REQUEST_LABELS: automated-pull-request, gradle
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ jobs:
|
|||||||
if: github.event_name == 'pull_request'
|
if: github.event_name == 'pull_request'
|
||||||
uses: seferov/pr-lint-action@v1.0.3
|
uses: seferov/pr-lint-action@v1.0.3
|
||||||
with:
|
with:
|
||||||
title-regex: '^([\w-/]+): \w+'
|
title-regex: '^([\w-/ ]+): [\w ]+'
|
||||||
|
|
||||||
validate:
|
validate:
|
||||||
name: Validate gradle wrapper
|
name: Validate gradle wrapper
|
||||||
|
|||||||
+29
-8
@@ -29,20 +29,22 @@ import org.ajoberstar.grgit.Grgit
|
|||||||
buildscript {
|
buildscript {
|
||||||
repositories {
|
repositories {
|
||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
|
mavenLocal()
|
||||||
maven(url = "https://raw.githubusercontent.com/open-osrs/hosting/master")
|
maven(url = "https://raw.githubusercontent.com/open-osrs/hosting/master")
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath(Plugins.grgitPlugin)
|
classpath("org.ajoberstar.grgit:grgit-core:4.0.1")
|
||||||
classpath(Plugins.versionsPlugin)
|
classpath("com.github.ben-manes:gradle-versions-plugin:0.28.0")
|
||||||
classpath(Plugins.injectorPlugin)
|
classpath("com.openosrs:injector-plugin:${ProjectVersions.openosrsInjectorVersion}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id(Plugins.testLogger.first) version Plugins.testLogger.second apply false
|
id("com.adarshr.test-logger") version "2.0.0" apply false
|
||||||
id(Plugins.versions.first) version Plugins.versions.second
|
id("com.github.ben-manes.versions") version "0.28.0"
|
||||||
id(Plugins.latestVersion.first) version Plugins.latestVersion.second
|
id("se.patrikerdes.use-latest-versions") version "0.2.13"
|
||||||
id(Plugins.grgit.first) version Plugins.grgit.second
|
id("org.ajoberstar.grgit") version "4.0.1"
|
||||||
|
id("com.simonharrer.modernizer") version "1.8.0-1" apply false
|
||||||
|
|
||||||
application
|
application
|
||||||
}
|
}
|
||||||
@@ -97,7 +99,9 @@ subprojects {
|
|||||||
|
|
||||||
apply<JavaLibraryPlugin>()
|
apply<JavaLibraryPlugin>()
|
||||||
//apply<MavenPublishPlugin>()
|
//apply<MavenPublishPlugin>()
|
||||||
apply(plugin = Plugins.testLogger.first)
|
apply(plugin = "com.adarshr.test-logger")
|
||||||
|
apply(plugin = "com.github.ben-manes.versions")
|
||||||
|
apply(plugin = "se.patrikerdes.use-latest-versions")
|
||||||
|
|
||||||
project.extra["gitCommit"] = localGitCommit
|
project.extra["gitCommit"] = localGitCommit
|
||||||
project.extra["rootPath"] = rootDir.toString().replace("\\", "/")
|
project.extra["rootPath"] = rootDir.toString().replace("\\", "/")
|
||||||
@@ -112,6 +116,9 @@ subprojects {
|
|||||||
isIgnoreFailures = false
|
isIgnoreFailures = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (this.name == "runelite-client" || this.name == "runelite-api") {
|
||||||
|
apply(plugin = "com.simonharrer.modernizer")
|
||||||
|
}
|
||||||
|
|
||||||
configure<PublishingExtension> {
|
configure<PublishingExtension> {
|
||||||
repositories {
|
repositories {
|
||||||
@@ -143,6 +150,20 @@ subprojects {
|
|||||||
exclude("**/LayoutSolver.java")
|
exclude("**/LayoutSolver.java")
|
||||||
exclude("**/RoomType.java")
|
exclude("**/RoomType.java")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
named<DependencyUpdatesTask>("dependencyUpdates") {
|
||||||
|
checkForGradleUpdate = false
|
||||||
|
|
||||||
|
resolutionStrategy {
|
||||||
|
componentSelection {
|
||||||
|
all {
|
||||||
|
if (candidate.displayName.contains("fernflower") || isNonStable(candidate.version)) {
|
||||||
|
reject("Non stable")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,130 +28,8 @@ object ProjectVersions {
|
|||||||
const val rlVersion = "1.6.10"
|
const val rlVersion = "1.6.10"
|
||||||
|
|
||||||
const val openosrsVersion = "3.2.1"
|
const val openosrsVersion = "3.2.1"
|
||||||
|
const val openosrsInjectorVersion = "1.0.3.1"
|
||||||
|
|
||||||
const val rsversion = 189
|
const val rsversion = 189
|
||||||
const val cacheversion = 165
|
const val cacheversion = 165
|
||||||
}
|
}
|
||||||
|
|
||||||
object Plugins {
|
|
||||||
const val grgitPlugin = "org.ajoberstar.grgit:grgit-core:4.0.1"
|
|
||||||
const val versionsPlugin = "com.github.ben-manes:gradle-versions-plugin:0.27.0"
|
|
||||||
const val injectorPlugin = "com.openosrs:injector-plugin:1.0.3.1"
|
|
||||||
val testLogger = Pair("com.adarshr.test-logger", "2.0.0")
|
|
||||||
val versions = Pair("com.github.ben-manes.versions", "0.27.0")
|
|
||||||
val latestVersion = Pair("se.patrikerdes.use-latest-versions", "0.2.13")
|
|
||||||
val grgit = Pair("org.ajoberstar.grgit", "4.0.1")
|
|
||||||
val jarTest = Pair("com.github.hauner.jarTest", "1.0.1")
|
|
||||||
val shadow = Pair("com.github.johnrengelman.shadow", "5.2.0")
|
|
||||||
}
|
|
||||||
|
|
||||||
object Libraries {
|
|
||||||
private object Versions {
|
|
||||||
const val annotations = "19.0.0"
|
|
||||||
const val antlr = "4.8-1"
|
|
||||||
const val apacheCommonsCompress = "1.20"
|
|
||||||
const val apacheCommonsCsv = "1.8"
|
|
||||||
const val apacheCommonsText = "1.8"
|
|
||||||
const val asm = "7.3.1"
|
|
||||||
const val commonsCli = "1.4"
|
|
||||||
const val discord = "1.1"
|
|
||||||
const val fernflower = "07082019"
|
|
||||||
const val findbugs = "3.0.2"
|
|
||||||
const val gson = "2.8.6"
|
|
||||||
const val guava = "28.2-jre"
|
|
||||||
const val guice = "4.2.2"
|
|
||||||
const val h2 = "1.4.200"
|
|
||||||
const val hamcrest = "2.2"
|
|
||||||
const val javagroups = "4.0.0.Final"
|
|
||||||
const val javax = "1.3.2"
|
|
||||||
const val javaxInject = "1"
|
|
||||||
const val jna = "5.5.0"
|
|
||||||
const val jogamp = "2.3.2"
|
|
||||||
const val jopt = "5.0.4"
|
|
||||||
const val jooq = "3.13.0"
|
|
||||||
const val junit = "4.13"
|
|
||||||
const val jupiter = "5.6.0"
|
|
||||||
const val logback = "1.2.3"
|
|
||||||
const val lombok = "1.18.12"
|
|
||||||
const val mavenPluginAnnotations = "3.6.0"
|
|
||||||
const val mavenPluginApi = "3.6.3"
|
|
||||||
const val mockito = "3.3.3"
|
|
||||||
const val netty = "4.1.45.Final"
|
|
||||||
const val okhttp3 = "4.4.0"
|
|
||||||
const val orangeExtensions = "1.0"
|
|
||||||
const val petitparser = "2.3.1"
|
|
||||||
const val pf4j = "3.2.0"
|
|
||||||
const val pf4jUpdate = "2.3.0"
|
|
||||||
const val radiance = "2.5.1"
|
|
||||||
const val rxjava = "3.0.1"
|
|
||||||
const val rxrelay = "3.0.0-SNAPSHOT"
|
|
||||||
const val sisu = "0.3.4"
|
|
||||||
const val sentry = "1.7.30"
|
|
||||||
const val semver = "0.9.0"
|
|
||||||
const val slf4j = "1.7.30"
|
|
||||||
}
|
|
||||||
|
|
||||||
const val annotations = "org.jetbrains:annotations:${Versions.annotations}"
|
|
||||||
const val antlr = "org.antlr:antlr4-runtime:${Versions.antlr}"
|
|
||||||
const val apacheCommonsCompress = "org.apache.commons:commons-compress:${Versions.apacheCommonsCompress}"
|
|
||||||
const val apacheCommonsCsv = "org.apache.commons:commons-csv:${Versions.apacheCommonsCsv}"
|
|
||||||
const val apacheCommonsText = "org.apache.commons:commons-text:${Versions.apacheCommonsText}"
|
|
||||||
const val asmAll = "org.ow2.asm:asm:${Versions.asm}"
|
|
||||||
const val asmUtil = "org.ow2.asm:asm-util:${Versions.asm}"
|
|
||||||
const val commonsCli = "commons-cli:commons-cli:${Versions.commonsCli}"
|
|
||||||
const val discord = "net.runelite:discord:${Versions.discord}"
|
|
||||||
const val fernflower = "net.runelite:fernflower:${Versions.fernflower}"
|
|
||||||
const val findbugs = "com.google.code.findbugs:jsr305:${Versions.findbugs}"
|
|
||||||
const val gson = "com.google.code.gson:gson:${Versions.gson}"
|
|
||||||
const val guava = "com.google.guava:guava:${Versions.guava}"
|
|
||||||
const val guice = "com.google.inject:guice:${Versions.guice}:no_aop"
|
|
||||||
const val guiceGrapher = "com.google.inject.extensions:guice-grapher:${Versions.guice}"
|
|
||||||
const val guiceTestlib = "com.google.inject.extensions:guice-testlib:${Versions.guice}"
|
|
||||||
const val h2 = "com.h2database:h2:${Versions.h2}"
|
|
||||||
const val hamcrest = "org.hamcrest:hamcrest-library:${Versions.hamcrest}"
|
|
||||||
const val javagroups = "org.jgroups:jgroups:${Versions.javagroups}"
|
|
||||||
const val javax = "javax.annotation:javax.annotation-api:${Versions.javax}"
|
|
||||||
const val javaxInject = "javax.inject:javax.inject:${Versions.javaxInject}"
|
|
||||||
const val jna = "net.java.dev.jna:jna:${Versions.jna}"
|
|
||||||
const val jnaPlatform = "net.java.dev.jna:jna-platform:${Versions.jna}"
|
|
||||||
const val jogampJogl = "org.jogamp.jogl:jogl-all:${Versions.jogamp}"
|
|
||||||
const val jogampGluegen = "org.jogamp.gluegen:gluegen-rt:${Versions.jogamp}"
|
|
||||||
const val jogampGluegenLinuxAmd64 = "org.jogamp.gluegen:gluegen-rt:${Versions.jogamp}:natives-linux-amd64"
|
|
||||||
const val jogampGluegenLinuxI586 = "org.jogamp.gluegen:gluegen-rt:${Versions.jogamp}:natives-linux-i586"
|
|
||||||
const val jogampGluegenWindowsAmd64 = "org.jogamp.gluegen:gluegen-rt:${Versions.jogamp}:natives-windows-amd64"
|
|
||||||
const val jogampGluegenWindowsI586 = "org.jogamp.gluegen:gluegen-rt:${Versions.jogamp}:natives-windows-i586"
|
|
||||||
const val jogampJoglLinuxAmd64 = "org.jogamp.jogl:jogl-all:${Versions.jogamp}:natives-linux-amd64"
|
|
||||||
const val jogampJoglLinuxI586 = "org.jogamp.jogl:jogl-all:${Versions.jogamp}:natives-linux-i586"
|
|
||||||
const val jogampJoglWindowsAmd64 = "org.jogamp.jogl:jogl-all:${Versions.jogamp}:natives-windows-amd64"
|
|
||||||
const val jogampJoglWindowsI586 = "org.jogamp.jogl:jogl-all:${Versions.jogamp}:natives-windows-i586"
|
|
||||||
const val jopt = "net.sf.jopt-simple:jopt-simple:${Versions.jopt}"
|
|
||||||
const val jooq = "org.jooq:jooq:${Versions.jooq}"
|
|
||||||
const val jooqCodegen = "org.jooq:jooq-codegen:${Versions.jooq}"
|
|
||||||
const val jooqMeta = "org.jooq:jooq-meta:${Versions.jooq}"
|
|
||||||
const val junit = "junit:junit:${Versions.junit}"
|
|
||||||
const val jupiter = "org.junit.jupiter:junit-jupiter-api:${Versions.jupiter}"
|
|
||||||
const val logback = "ch.qos.logback:logback-classic:${Versions.logback}"
|
|
||||||
const val lombok = "org.projectlombok:lombok:${Versions.lombok}"
|
|
||||||
const val mavenPluginAnnotations = "org.apache.maven.plugin-tools:maven-plugin-annotations:${Versions.mavenPluginAnnotations}"
|
|
||||||
const val mavenPluginApi = "org.apache.maven:maven-plugin-api:${Versions.mavenPluginApi}"
|
|
||||||
const val mockitoCore = "org.mockito:mockito-core:${Versions.mockito}"
|
|
||||||
const val mockitoInline = "org.mockito:mockito-inline:${Versions.mockito}"
|
|
||||||
const val nettyBuffer = "io.netty:netty-buffer:${Versions.netty}"
|
|
||||||
const val okhttp3 = "com.squareup.okhttp3:okhttp:${Versions.okhttp3}"
|
|
||||||
const val okhttp3Webserver = "com.squareup.okhttp3:mockwebserver:${Versions.okhttp3}"
|
|
||||||
const val orangeExtensions = "net.runelite:orange-extensions:${Versions.orangeExtensions}"
|
|
||||||
const val petitparser = "com.github.petitparser:java-petitparser:${Versions.petitparser}"
|
|
||||||
const val pf4j = "org.pf4j:pf4j:${Versions.pf4j}"
|
|
||||||
const val pf4jUpdate = "org.pf4j:pf4j-update:${Versions.pf4jUpdate}"
|
|
||||||
const val rxjava = "io.reactivex.rxjava3:rxjava:${Versions.rxjava}"
|
|
||||||
const val rxrelay = "com.openosrs.rxrelay3:rxrelay:${Versions.rxrelay}"
|
|
||||||
const val sisu = "org.eclipse.sisu:org.eclipse.sisu.inject:${Versions.sisu}"
|
|
||||||
const val slf4jApi = "org.slf4j:slf4j-api:${Versions.slf4j}"
|
|
||||||
const val slf4jNop = "org.slf4j:slf4j-nop:${Versions.slf4j}"
|
|
||||||
const val slf4jSimple = "org.slf4j:slf4j-simple:${Versions.slf4j}"
|
|
||||||
const val sentry = "io.sentry:sentry-logback:${Versions.sentry}"
|
|
||||||
const val semver = "com.github.zafarkhaja:java-semver:${Versions.semver}"
|
|
||||||
const val substance = "org.pushing-pixels:radiance-substance:${Versions.radiance}"
|
|
||||||
const val trident = "org.pushing-pixels:radiance-trident:${Versions.radiance}"
|
|
||||||
const val vanilla = "net.runelite.rs:vanilla:${ProjectVersions.rsversion}"
|
|
||||||
}
|
|
||||||
Vendored
+13
-13
@@ -26,31 +26,31 @@
|
|||||||
import org.apache.tools.ant.filters.ReplaceTokens
|
import org.apache.tools.ant.filters.ReplaceTokens
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id(Plugins.jarTest.first) version Plugins.jarTest.second
|
id("com.github.hauner.jarTest") version "1.0.1"
|
||||||
}
|
}
|
||||||
|
|
||||||
description = "Cache"
|
description = "Cache"
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
annotationProcessor(Libraries.lombok)
|
annotationProcessor(group = "org.projectlombok", name = "lombok", version = "1.18.12")
|
||||||
|
|
||||||
api(project(":http-api"))
|
api(project(":http-api"))
|
||||||
|
|
||||||
compileOnly(Libraries.lombok)
|
compileOnly(group = "org.projectlombok", name = "lombok", version = "1.18.12")
|
||||||
|
|
||||||
implementation(Libraries.gson)
|
implementation(group = "com.google.code.gson", name = "gson", version = "2.8.6")
|
||||||
implementation(Libraries.guava)
|
implementation(group = "com.google.guava", name = "guava", version = "28.2-jre")
|
||||||
implementation(Libraries.commonsCli)
|
implementation(group = "commons-cli", name = "commons-cli", version = "1.4")
|
||||||
implementation(Libraries.nettyBuffer)
|
implementation(group = "io.netty", name = "netty-buffer", version = "4.1.48.Final")
|
||||||
implementation(Libraries.antlr)
|
implementation(group = "org.antlr", name = "antlr4-runtime", version = "4.8-1")
|
||||||
implementation(Libraries.apacheCommonsCompress)
|
implementation(group = "org.apache.commons", name = "commons-compress", version = "1.20")
|
||||||
implementation(Libraries.slf4jApi)
|
implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30")
|
||||||
|
|
||||||
testAnnotationProcessor(Libraries.lombok)
|
testAnnotationProcessor(group = "org.projectlombok", name = "lombok", version = "1.18.12")
|
||||||
|
|
||||||
testCompileOnly(Libraries.lombok)
|
testCompileOnly(group = "org.projectlombok", name = "lombok", version = "1.18.12")
|
||||||
|
|
||||||
testImplementation(Libraries.junit)
|
testImplementation(group = "junit", name = "junit", version = "4.13")
|
||||||
testImplementation(group = "net.runelite.rs", name = "cache", version = "${ProjectVersions.cacheversion}")
|
testImplementation(group = "net.runelite.rs", name = "cache", version = "${ProjectVersions.cacheversion}")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
import org.apache.tools.ant.filters.ReplaceTokens
|
import org.apache.tools.ant.filters.ReplaceTokens
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id(Plugins.jarTest.first) version Plugins.jarTest.second
|
id("com.github.hauner.jarTest") version "1.0.1"
|
||||||
}
|
}
|
||||||
|
|
||||||
val deobjars = configurations.create("deobjars")
|
val deobjars = configurations.create("deobjars")
|
||||||
@@ -35,21 +35,21 @@ dependencies {
|
|||||||
deobjars(group = "net.runelite.rs", name = "vanilla", version = ProjectVersions.rsversion.toString())
|
deobjars(group = "net.runelite.rs", name = "vanilla", version = ProjectVersions.rsversion.toString())
|
||||||
deobjars(project(":runescape-client"))
|
deobjars(project(":runescape-client"))
|
||||||
|
|
||||||
implementation(Libraries.annotations)
|
implementation(group = "org.jetbrains", name = "annotations", version = "19.0.0")
|
||||||
implementation(Libraries.asmAll)
|
implementation(group = "org.ow2.asm", name = "asm", version = "8.0.1")
|
||||||
implementation(Libraries.asmUtil)
|
implementation(group = "org.ow2.asm", name = "asm-util", version = "8.0.1")
|
||||||
implementation(Libraries.fernflower)
|
implementation(group = "net.runelite", name = "fernflower", version = "07082019")
|
||||||
implementation(Libraries.gson)
|
implementation(group = "com.google.code.gson", name = "gson", version = "2.8.6")
|
||||||
implementation(Libraries.guava)
|
implementation(group = "com.google.guava", name = "guava", version = "28.2-jre")
|
||||||
implementation(Libraries.slf4jApi)
|
implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30")
|
||||||
implementation(project(":runelite-api"))
|
implementation(project(":runelite-api"))
|
||||||
implementation(project(":runescape-api"))
|
implementation(project(":runescape-api"))
|
||||||
|
|
||||||
runtimeOnly(Libraries.slf4jSimple)
|
runtimeOnly(group = "org.slf4j", name = "slf4j-simple", version = "1.7.30")
|
||||||
|
|
||||||
testImplementation(deobjars)
|
testImplementation(deobjars)
|
||||||
testImplementation(Libraries.junit)
|
testImplementation(group = "junit", name = "junit", version = "4.13")
|
||||||
testImplementation(Libraries.mockitoCore)
|
testImplementation(group = "org.mockito", name = "mockito-core", version = "3.3.3")
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks {
|
tasks {
|
||||||
|
|||||||
+1
-1
@@ -81,7 +81,7 @@ public class MappingDumper
|
|||||||
|
|
||||||
for (ClassFile cf : group.getClasses())
|
for (ClassFile cf : group.getClasses())
|
||||||
{
|
{
|
||||||
String implName = DeobAnnotations.getImplements(cf);
|
String implName = cf.getName();
|
||||||
String className = DeobAnnotations.getObfuscatedName(cf.getAnnotations());
|
String className = DeobAnnotations.getObfuscatedName(cf.getAnnotations());
|
||||||
|
|
||||||
if (implName != null)
|
if (implName != null)
|
||||||
|
|||||||
@@ -28,22 +28,22 @@ import org.apache.tools.ant.filters.ReplaceTokens
|
|||||||
description = "Web API"
|
description = "Web API"
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
annotationProcessor(Libraries.lombok)
|
annotationProcessor(group = "org.projectlombok", name = "lombok", version = "1.18.12")
|
||||||
|
|
||||||
compileOnly(Libraries.javaxInject)
|
compileOnly(group = "javax.inject", name = "javax.inject", version = "1")
|
||||||
compileOnly(Libraries.lombok)
|
compileOnly(group = "org.projectlombok", name = "lombok", version = "1.18.12")
|
||||||
|
|
||||||
implementation(Libraries.gson)
|
implementation(group = "com.google.code.gson", name = "gson", version = "2.8.6")
|
||||||
implementation(Libraries.guava)
|
implementation(group = "com.google.guava", name = "guava", version = "28.2-jre")
|
||||||
implementation(Libraries.okhttp3)
|
implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.5.0")
|
||||||
implementation(Libraries.rxjava)
|
implementation(group = "io.reactivex.rxjava3", name = "rxjava", version = "3.0.2")
|
||||||
implementation(Libraries.apacheCommonsCsv)
|
implementation(group = "org.apache.commons", name = "commons-csv", version = "1.8")
|
||||||
implementation(Libraries.slf4jApi)
|
implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30")
|
||||||
implementation(project(":runelite-api"))
|
implementation(project(":runelite-api"))
|
||||||
|
|
||||||
testImplementation(Libraries.okhttp3Webserver)
|
testImplementation(group = "com.squareup.okhttp3", name = "mockwebserver", version = "4.5.0")
|
||||||
testImplementation(Libraries.junit)
|
testImplementation(group = "junit", name = "junit", version = "4.13")
|
||||||
testImplementation(Libraries.slf4jSimple)
|
testImplementation(group = "org.slf4j", name = "slf4j-simple", version = "1.7.30")
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks {
|
tasks {
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2017, Adam <Adam@sigterm.info>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
||||||
* list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
package net.runelite.http.api.item;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class Item
|
|
||||||
{
|
|
||||||
private int id;
|
|
||||||
private String name;
|
|
||||||
private String description;
|
|
||||||
private ItemType type;
|
|
||||||
}
|
|
||||||
@@ -35,6 +35,7 @@ import java.io.InputStreamReader;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
import javax.naming.directory.SearchResult;
|
||||||
import net.runelite.http.api.RuneLiteAPI;
|
import net.runelite.http.api.RuneLiteAPI;
|
||||||
import okhttp3.HttpUrl;
|
import okhttp3.HttpUrl;
|
||||||
import okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
|
|||||||
@@ -1,42 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2017, Adam <Adam@sigterm.info>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
||||||
* list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
package net.runelite.http.api.item;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class SearchResult
|
|
||||||
{
|
|
||||||
private List<Item> items;
|
|
||||||
|
|
||||||
public List<Item> getItems()
|
|
||||||
{
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<Item> items)
|
|
||||||
{
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -29,7 +29,5 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
public class NpcInfo
|
public class NpcInfo
|
||||||
{
|
{
|
||||||
private String name;
|
|
||||||
private int combat;
|
|
||||||
private int hitpoints;
|
private int hitpoints;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ configurations {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
vanillaDep(Libraries.vanilla)
|
vanillaDep(group = "net.runelite.rs", name = "vanilla", version = ProjectVersions.rsversion.toString())
|
||||||
rsapiDep(project(":runescape-api"))
|
rsapiDep(project(":runescape-api"))
|
||||||
rsclientDep(project(":runescape-client"))
|
rsclientDep(project(":runescape-client"))
|
||||||
mixinsDep(project(":runelite-mixins"))
|
mixinsDep(project(":runelite-mixins"))
|
||||||
|
|||||||
@@ -26,14 +26,14 @@
|
|||||||
description = "RuneLite API"
|
description = "RuneLite API"
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
annotationProcessor(Libraries.lombok)
|
annotationProcessor(group = "org.projectlombok", name = "lombok", version = "1.18.12")
|
||||||
|
|
||||||
compileOnly(Libraries.lombok)
|
compileOnly(group = "org.projectlombok", name = "lombok", version = "1.18.12")
|
||||||
|
|
||||||
implementation(Libraries.findbugs)
|
implementation(group = "com.google.code.findbugs", name = "jsr305", version = "3.0.2")
|
||||||
implementation(Libraries.guava)
|
implementation(group = "com.google.guava", name = "guava", version = "28.2-jre")
|
||||||
implementation(Libraries.apacheCommonsText)
|
implementation(group = "org.apache.commons", name = "commons-text", version = "1.8")
|
||||||
implementation(Libraries.slf4jApi)
|
implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30")
|
||||||
|
|
||||||
testImplementation(Libraries.junit)
|
testImplementation(group = "junit", name = "junit", version = "4.13")
|
||||||
}
|
}
|
||||||
@@ -1100,6 +1100,24 @@ public interface Client extends GameShell
|
|||||||
*/
|
*/
|
||||||
long getMouseLastPressedMillis();
|
long getMouseLastPressedMillis();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the time at which the last mouse press occurred in milliseconds since
|
||||||
|
* the UNIX epoch.
|
||||||
|
*/
|
||||||
|
void setMouseLastPressedMillis(long time);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the time at which the second-to-last mouse press occurred in milliseconds since
|
||||||
|
* the UNIX epoch.
|
||||||
|
*/
|
||||||
|
long getClientMouseLastPressedMillis();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the time at which the second-to-last mouse press occurred in milliseconds since
|
||||||
|
* the UNIX epoch.
|
||||||
|
*/
|
||||||
|
void setClientMouseLastPressedMillis(long time);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the amount of client ticks since the last keyboard press occurred.
|
* Gets the amount of client ticks since the last keyboard press occurred.
|
||||||
*
|
*
|
||||||
@@ -1238,6 +1256,16 @@ public interface Client extends GameShell
|
|||||||
*/
|
*/
|
||||||
void setCameraPitchRelaxerEnabled(boolean enabled);
|
void setCameraPitchRelaxerEnabled(boolean enabled);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets if the moving the camera horizontally should be backwards
|
||||||
|
*/
|
||||||
|
void setInvertYaw(boolean invertYaw);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets if the moving the camera vertically should be backwards
|
||||||
|
*/
|
||||||
|
void setInvertPitch(boolean invertPitch);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the world map overview.
|
* Gets the world map overview.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -676,7 +676,7 @@ public final class ItemID
|
|||||||
public static final int LEATHER_GLOVES = 1059;
|
public static final int LEATHER_GLOVES = 1059;
|
||||||
public static final int LEATHER_BOOTS = 1061;
|
public static final int LEATHER_BOOTS = 1061;
|
||||||
public static final int LEATHER_VAMBRACES = 1063;
|
public static final int LEATHER_VAMBRACES = 1063;
|
||||||
public static final int GREEN_DHIDE_VAMB = 1065;
|
public static final int GREEN_DHIDE_VAMBRACES = 1065;
|
||||||
public static final int IRON_PLATELEGS = 1067;
|
public static final int IRON_PLATELEGS = 1067;
|
||||||
public static final int STEEL_PLATELEGS = 1069;
|
public static final int STEEL_PLATELEGS = 1069;
|
||||||
public static final int MITHRIL_PLATELEGS = 1071;
|
public static final int MITHRIL_PLATELEGS = 1071;
|
||||||
@@ -1483,9 +1483,9 @@ public final class ItemID
|
|||||||
public static final int LANTADYME = 2481;
|
public static final int LANTADYME = 2481;
|
||||||
public static final int LANTADYME_POTION_UNF = 2483;
|
public static final int LANTADYME_POTION_UNF = 2483;
|
||||||
public static final int GRIMY_LANTADYME = 2485;
|
public static final int GRIMY_LANTADYME = 2485;
|
||||||
public static final int BLUE_DHIDE_VAMB = 2487;
|
public static final int BLUE_DHIDE_VAMBRACES = 2487;
|
||||||
public static final int RED_DHIDE_VAMB = 2489;
|
public static final int RED_DHIDE_VAMBRACES = 2489;
|
||||||
public static final int BLACK_DHIDE_VAMB = 2491;
|
public static final int BLACK_DHIDE_VAMBRACES = 2491;
|
||||||
public static final int BLUE_DHIDE_CHAPS = 2493;
|
public static final int BLUE_DHIDE_CHAPS = 2493;
|
||||||
public static final int RED_DHIDE_CHAPS = 2495;
|
public static final int RED_DHIDE_CHAPS = 2495;
|
||||||
public static final int BLACK_DHIDE_CHAPS = 2497;
|
public static final int BLACK_DHIDE_CHAPS = 2497;
|
||||||
@@ -6287,10 +6287,10 @@ public final class ItemID
|
|||||||
public static final int SPOTTIER_CAPE_10074 = 10074;
|
public static final int SPOTTIER_CAPE_10074 = 10074;
|
||||||
public static final int GLOVES_OF_SILENCE = 10075;
|
public static final int GLOVES_OF_SILENCE = 10075;
|
||||||
public static final int SPIKY_VAMBRACES = 10077;
|
public static final int SPIKY_VAMBRACES = 10077;
|
||||||
public static final int GREEN_SPIKY_VAMBS = 10079;
|
public static final int GREEN_SPIKY_VAMBRACES = 10079;
|
||||||
public static final int BLUE_SPIKY_VAMBS = 10081;
|
public static final int BLUE_SPIKY_VAMBRACES = 10081;
|
||||||
public static final int RED_SPIKY_VAMBS = 10083;
|
public static final int RED_SPIKY_VAMBRACES = 10083;
|
||||||
public static final int BLACK_SPIKY_VAMBS = 10085;
|
public static final int BLACK_SPIKY_VAMBRACES = 10085;
|
||||||
public static final int STRIPY_FEATHER = 10087;
|
public static final int STRIPY_FEATHER = 10087;
|
||||||
public static final int RED_FEATHER = 10088;
|
public static final int RED_FEATHER = 10088;
|
||||||
public static final int BLUE_FEATHER = 10089;
|
public static final int BLUE_FEATHER = 10089;
|
||||||
@@ -6492,15 +6492,15 @@ public final class ItemID
|
|||||||
public static final int STRENGTH_AMULET_T = 10364;
|
public static final int STRENGTH_AMULET_T = 10364;
|
||||||
public static final int AMULET_OF_MAGIC_T = 10366;
|
public static final int AMULET_OF_MAGIC_T = 10366;
|
||||||
public static final int ZAMORAK_BRACERS = 10368;
|
public static final int ZAMORAK_BRACERS = 10368;
|
||||||
public static final int ZAMORAK_DHIDE = 10370;
|
public static final int ZAMORAK_DHIDE_BODY = 10370;
|
||||||
public static final int ZAMORAK_CHAPS = 10372;
|
public static final int ZAMORAK_CHAPS = 10372;
|
||||||
public static final int ZAMORAK_COIF = 10374;
|
public static final int ZAMORAK_COIF = 10374;
|
||||||
public static final int GUTHIX_BRACERS = 10376;
|
public static final int GUTHIX_BRACERS = 10376;
|
||||||
public static final int GUTHIX_DHIDE = 10378;
|
public static final int GUTHIX_DHIDE_BODY = 10378;
|
||||||
public static final int GUTHIX_CHAPS = 10380;
|
public static final int GUTHIX_CHAPS = 10380;
|
||||||
public static final int GUTHIX_COIF = 10382;
|
public static final int GUTHIX_COIF = 10382;
|
||||||
public static final int SARADOMIN_BRACERS = 10384;
|
public static final int SARADOMIN_BRACERS = 10384;
|
||||||
public static final int SARADOMIN_DHIDE = 10386;
|
public static final int SARADOMIN_DHIDE_BODY = 10386;
|
||||||
public static final int SARADOMIN_CHAPS = 10388;
|
public static final int SARADOMIN_CHAPS = 10388;
|
||||||
public static final int SARADOMIN_COIF = 10390;
|
public static final int SARADOMIN_COIF = 10390;
|
||||||
public static final int A_POWDERED_WIG = 10392;
|
public static final int A_POWDERED_WIG = 10392;
|
||||||
@@ -6802,8 +6802,8 @@ public final class ItemID
|
|||||||
public static final int SARADOMIN_ROBE_TOP_10784 = 10784;
|
public static final int SARADOMIN_ROBE_TOP_10784 = 10784;
|
||||||
public static final int ZAMORAK_ROBE_TOP_10786 = 10786;
|
public static final int ZAMORAK_ROBE_TOP_10786 = 10786;
|
||||||
public static final int GUTHIX_ROBE_TOP_10788 = 10788;
|
public static final int GUTHIX_ROBE_TOP_10788 = 10788;
|
||||||
public static final int ZAMORAK_DHIDE_10790 = 10790;
|
public static final int ZAMORAK_DHIDE_BODY_10790 = 10790;
|
||||||
public static final int SARADOMIN_DHIDE_10792 = 10792;
|
public static final int SARADOMIN_DHIDE_BODY_10792 = 10792;
|
||||||
public static final int GUTHIX_DRAGONHIDE = 10794;
|
public static final int GUTHIX_DRAGONHIDE = 10794;
|
||||||
public static final int ROBIN_HOOD_HAT_10796 = 10796;
|
public static final int ROBIN_HOOD_HAT_10796 = 10796;
|
||||||
public static final int RUNE_PLATEBODY_G_10798 = 10798;
|
public static final int RUNE_PLATEBODY_G_10798 = 10798;
|
||||||
@@ -7878,15 +7878,15 @@ public final class ItemID
|
|||||||
public static final int BANDOS_FULL_HELM = 12486;
|
public static final int BANDOS_FULL_HELM = 12486;
|
||||||
public static final int BANDOS_KITESHIELD = 12488;
|
public static final int BANDOS_KITESHIELD = 12488;
|
||||||
public static final int ANCIENT_BRACERS = 12490;
|
public static final int ANCIENT_BRACERS = 12490;
|
||||||
public static final int ANCIENT_DHIDE = 12492;
|
public static final int ANCIENT_DHIDE_BODY = 12492;
|
||||||
public static final int ANCIENT_CHAPS = 12494;
|
public static final int ANCIENT_CHAPS = 12494;
|
||||||
public static final int ANCIENT_COIF = 12496;
|
public static final int ANCIENT_COIF = 12496;
|
||||||
public static final int BANDOS_BRACERS = 12498;
|
public static final int BANDOS_BRACERS = 12498;
|
||||||
public static final int BANDOS_DHIDE = 12500;
|
public static final int BANDOS_DHIDE_BODY = 12500;
|
||||||
public static final int BANDOS_CHAPS = 12502;
|
public static final int BANDOS_CHAPS = 12502;
|
||||||
public static final int BANDOS_COIF = 12504;
|
public static final int BANDOS_COIF = 12504;
|
||||||
public static final int ARMADYL_BRACERS = 12506;
|
public static final int ARMADYL_BRACERS = 12506;
|
||||||
public static final int ARMADYL_DHIDE = 12508;
|
public static final int ARMADYL_DHIDE_BODY = 12508;
|
||||||
public static final int ARMADYL_CHAPS = 12510;
|
public static final int ARMADYL_CHAPS = 12510;
|
||||||
public static final int ARMADYL_COIF = 12512;
|
public static final int ARMADYL_COIF = 12512;
|
||||||
public static final int EXPLORER_BACKPACK = 12514;
|
public static final int EXPLORER_BACKPACK = 12514;
|
||||||
@@ -10775,7 +10775,7 @@ public final class ItemID
|
|||||||
public static final int GIANT_BOOT = 23252;
|
public static final int GIANT_BOOT = 23252;
|
||||||
public static final int URIS_HAT = 23255;
|
public static final int URIS_HAT = 23255;
|
||||||
public static final int GILDED_COIF = 23258;
|
public static final int GILDED_COIF = 23258;
|
||||||
public static final int GILDED_DHIDE_VAMBS = 23261;
|
public static final int GILDED_DHIDE_VAMBRACES = 23261;
|
||||||
public static final int GILDED_DHIDE_BODY = 23264;
|
public static final int GILDED_DHIDE_BODY = 23264;
|
||||||
public static final int GILDED_DHIDE_CHAPS = 23267;
|
public static final int GILDED_DHIDE_CHAPS = 23267;
|
||||||
public static final int ADAMANT_DRAGON_MASK = 23270;
|
public static final int ADAMANT_DRAGON_MASK = 23270;
|
||||||
@@ -11415,5 +11415,19 @@ public final class ItemID
|
|||||||
public static final int RUNNER_HAT_BROKEN = 24531;
|
public static final int RUNNER_HAT_BROKEN = 24531;
|
||||||
public static final int RUNNER_HAT_L = 24533;
|
public static final int RUNNER_HAT_L = 24533;
|
||||||
public static final int MITHRIL_SEEDS_24534 = 24534;
|
public static final int MITHRIL_SEEDS_24534 = 24534;
|
||||||
|
public static final int MAGIC_EGG_BALL = 24535;
|
||||||
|
public static final int CARROT_SWORD = 24537;
|
||||||
|
public static final int _24CARAT_SWORD = 24539;
|
||||||
|
public static final int PAINTED_FAKE_MAGIC_EGG = 24541;
|
||||||
|
public static final int UNPAINTED_FAKE_MAGIC_EGG = 24542;
|
||||||
|
public static final int CONCH_SHELL = 24543;
|
||||||
|
public static final int BROKEN_EGG = 24544;
|
||||||
|
public static final int DUMMY_PORTAL = 24545;
|
||||||
|
public static final int CARROT = 24546;
|
||||||
|
public static final int BROKEN_GOAT_HORN = 24547;
|
||||||
|
public static final int CAKE_24549 = 24549;
|
||||||
|
public static final int BLADE_OF_SAELDOR_I = 24551;
|
||||||
|
public static final int BLADE_OF_SAELDOR_I_24553 = 24553;
|
||||||
|
public static final int PYROMANCER_SET = 24554;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5993,6 +5993,7 @@ public final class NpcID
|
|||||||
public static final int SISTER_SCAROPHIA = 6590;
|
public static final int SISTER_SCAROPHIA = 6590;
|
||||||
public static final int LAVA_DRAGON = 6593;
|
public static final int LAVA_DRAGON = 6593;
|
||||||
public static final int ENT = 6594;
|
public static final int ENT = 6594;
|
||||||
|
public static final int THE_DISAPPOINTING_GELT = 6595;
|
||||||
public static final int ZOMBIE_6596 = 6596;
|
public static final int ZOMBIE_6596 = 6596;
|
||||||
public static final int ZOMBIE_6597 = 6597;
|
public static final int ZOMBIE_6597 = 6597;
|
||||||
public static final int ZOMBIE_6598 = 6598;
|
public static final int ZOMBIE_6598 = 6598;
|
||||||
@@ -8482,5 +8483,21 @@ public final class NpcID
|
|||||||
public static final int SISTER_SENGA = 9471;
|
public static final int SISTER_SENGA = 9471;
|
||||||
public static final int SISTER_SENGA_9472 = 9472;
|
public static final int SISTER_SENGA_9472 = 9472;
|
||||||
public static final int ENT_TRUNK = 9474;
|
public static final int ENT_TRUNK = 9474;
|
||||||
|
public static final int DUKE_RABBACIO = 9475;
|
||||||
|
public static final int PAWS = 9476;
|
||||||
|
public static final int RABBIT_CHEF = 9477;
|
||||||
|
public static final int GUARD_9478 = 9478;
|
||||||
|
public static final int MAGIC_EGG = 9479;
|
||||||
|
public static final int RABBIT_9480 = 9480;
|
||||||
|
public static final int RABBIT_9481 = 9481;
|
||||||
|
public static final int RABBIT_9482 = 9482;
|
||||||
|
public static final int RID = 9483;
|
||||||
|
public static final int FARMER_MAGGOT = 9484;
|
||||||
|
public static final int FATHER_BUCKEREK = 9485;
|
||||||
|
public static final int RESTLESS_GOAT = 9486;
|
||||||
|
public static final int SHOP_KEEPER_9487 = 9487;
|
||||||
|
public static final int BARTENDER_9488 = 9488;
|
||||||
|
public static final int COW_CALF_9489 = 9489;
|
||||||
|
public static final int CHICKEN_9490 = 9490;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12911,5 +12911,11 @@ public final class NullItemID
|
|||||||
public static final int NULL_24526 = 24526;
|
public static final int NULL_24526 = 24526;
|
||||||
public static final int NULL_24530 = 24530;
|
public static final int NULL_24530 = 24530;
|
||||||
public static final int NULL_24532 = 24532;
|
public static final int NULL_24532 = 24532;
|
||||||
|
public static final int NULL_24536 = 24536;
|
||||||
|
public static final int NULL_24538 = 24538;
|
||||||
|
public static final int NULL_24540 = 24540;
|
||||||
|
public static final int NULL_24548 = 24548;
|
||||||
|
public static final int NULL_24550 = 24550;
|
||||||
|
public static final int NULL_24552 = 24552;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14123,6 +14123,10 @@ public final class NullObjectID
|
|||||||
public static final int NULL_30144 = 30144;
|
public static final int NULL_30144 = 30144;
|
||||||
public static final int NULL_30156 = 30156;
|
public static final int NULL_30156 = 30156;
|
||||||
public static final int NULL_30159 = 30159;
|
public static final int NULL_30159 = 30159;
|
||||||
|
public static final int NULL_30165 = 30165;
|
||||||
|
public static final int NULL_30166 = 30166;
|
||||||
|
public static final int NULL_30167 = 30167;
|
||||||
|
public static final int NULL_30168 = 30168;
|
||||||
public static final int NULL_30171 = 30171;
|
public static final int NULL_30171 = 30171;
|
||||||
public static final int NULL_30181 = 30181;
|
public static final int NULL_30181 = 30181;
|
||||||
public static final int NULL_30182 = 30182;
|
public static final int NULL_30182 = 30182;
|
||||||
@@ -14977,6 +14981,7 @@ public final class NullObjectID
|
|||||||
public static final int NULL_31895 = 31895;
|
public static final int NULL_31895 = 31895;
|
||||||
public static final int NULL_31896 = 31896;
|
public static final int NULL_31896 = 31896;
|
||||||
public static final int NULL_31897 = 31897;
|
public static final int NULL_31897 = 31897;
|
||||||
|
public static final int NULL_31899 = 31899;
|
||||||
public static final int NULL_31937 = 31937;
|
public static final int NULL_31937 = 31937;
|
||||||
public static final int NULL_31938 = 31938;
|
public static final int NULL_31938 = 31938;
|
||||||
public static final int NULL_31945 = 31945;
|
public static final int NULL_31945 = 31945;
|
||||||
@@ -16161,6 +16166,7 @@ public final class NullObjectID
|
|||||||
public static final int NULL_34678 = 34678;
|
public static final int NULL_34678 = 34678;
|
||||||
public static final int NULL_34679 = 34679;
|
public static final int NULL_34679 = 34679;
|
||||||
public static final int NULL_34680 = 34680;
|
public static final int NULL_34680 = 34680;
|
||||||
|
public static final int NULL_34688 = 34688;
|
||||||
public static final int NULL_34689 = 34689;
|
public static final int NULL_34689 = 34689;
|
||||||
public static final int NULL_34690 = 34690;
|
public static final int NULL_34690 = 34690;
|
||||||
public static final int NULL_34691 = 34691;
|
public static final int NULL_34691 = 34691;
|
||||||
@@ -16223,6 +16229,7 @@ public final class NullObjectID
|
|||||||
public static final int NULL_34823 = 34823;
|
public static final int NULL_34823 = 34823;
|
||||||
public static final int NULL_34824 = 34824;
|
public static final int NULL_34824 = 34824;
|
||||||
public static final int NULL_34825 = 34825;
|
public static final int NULL_34825 = 34825;
|
||||||
|
public static final int NULL_34827 = 34827;
|
||||||
public static final int NULL_34831 = 34831;
|
public static final int NULL_34831 = 34831;
|
||||||
public static final int NULL_34832 = 34832;
|
public static final int NULL_34832 = 34832;
|
||||||
public static final int NULL_34841 = 34841;
|
public static final int NULL_34841 = 34841;
|
||||||
@@ -18161,6 +18168,7 @@ public final class NullObjectID
|
|||||||
public static final int NULL_37722 = 37722;
|
public static final int NULL_37722 = 37722;
|
||||||
public static final int NULL_37723 = 37723;
|
public static final int NULL_37723 = 37723;
|
||||||
public static final int NULL_37724 = 37724;
|
public static final int NULL_37724 = 37724;
|
||||||
|
public static final int NULL_37725 = 37725;
|
||||||
public static final int NULL_37732 = 37732;
|
public static final int NULL_37732 = 37732;
|
||||||
public static final int NULL_37733 = 37733;
|
public static final int NULL_37733 = 37733;
|
||||||
public static final int NULL_37734 = 37734;
|
public static final int NULL_37734 = 37734;
|
||||||
@@ -18328,6 +18336,11 @@ public final class NullObjectID
|
|||||||
public static final int NULL_37933 = 37933;
|
public static final int NULL_37933 = 37933;
|
||||||
public static final int NULL_37934 = 37934;
|
public static final int NULL_37934 = 37934;
|
||||||
public static final int NULL_37935 = 37935;
|
public static final int NULL_37935 = 37935;
|
||||||
|
public static final int NULL_37940 = 37940;
|
||||||
|
public static final int NULL_37945 = 37945;
|
||||||
|
public static final int NULL_37947 = 37947;
|
||||||
public static final int NULL_37950 = 37950;
|
public static final int NULL_37950 = 37950;
|
||||||
|
public static final int NULL_37956 = 37956;
|
||||||
|
public static final int NULL_37958 = 37958;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15803,6 +15803,8 @@ public final class ObjectID
|
|||||||
public static final int POOL_OF_NIGHTMARES = 29706;
|
public static final int POOL_OF_NIGHTMARES = 29706;
|
||||||
public static final int POOL_OF_NIGHTMARES_29707 = 29707;
|
public static final int POOL_OF_NIGHTMARES_29707 = 29707;
|
||||||
public static final int SCOREBOARD_29708 = 29708;
|
public static final int SCOREBOARD_29708 = 29708;
|
||||||
|
public static final int MAGIC_PORTAL_29711 = 29711;
|
||||||
|
public static final int PAINT_BUCKETS = 29712;
|
||||||
public static final int NOTICEBOARD_29718 = 29718;
|
public static final int NOTICEBOARD_29718 = 29718;
|
||||||
public static final int BALLISTA_29719 = 29719;
|
public static final int BALLISTA_29719 = 29719;
|
||||||
public static final int STAIRCASE_29720 = 29720;
|
public static final int STAIRCASE_29720 = 29720;
|
||||||
@@ -16023,6 +16025,11 @@ public final class ObjectID
|
|||||||
public static final int PAINTING_30155 = 30155;
|
public static final int PAINTING_30155 = 30155;
|
||||||
public static final int FURNACE_30157 = 30157;
|
public static final int FURNACE_30157 = 30157;
|
||||||
public static final int FURNACE_30158 = 30158;
|
public static final int FURNACE_30158 = 30158;
|
||||||
|
public static final int BROKEN_EGG = 30160;
|
||||||
|
public static final int CONCH_SHELL = 30161;
|
||||||
|
public static final int THE_MAGIC_EGG = 30162;
|
||||||
|
public static final int CAKE = 30163;
|
||||||
|
public static final int CARROT = 30164;
|
||||||
public static final int CRACK_30169 = 30169;
|
public static final int CRACK_30169 = 30169;
|
||||||
public static final int ROOT_30170 = 30170;
|
public static final int ROOT_30170 = 30170;
|
||||||
public static final int PORTAL_30172 = 30172;
|
public static final int PORTAL_30172 = 30172;
|
||||||
@@ -18579,7 +18586,6 @@ public final class ObjectID
|
|||||||
public static final int RUBBLE_34804 = 34804;
|
public static final int RUBBLE_34804 = 34804;
|
||||||
public static final int RUBBLE_34805 = 34805;
|
public static final int RUBBLE_34805 = 34805;
|
||||||
public static final int JADFEST_PORTAL = 34826;
|
public static final int JADFEST_PORTAL = 34826;
|
||||||
public static final int HANDY_PORTAL = 34827;
|
|
||||||
public static final int LARRANS_SMALL_CHEST_34828 = 34828;
|
public static final int LARRANS_SMALL_CHEST_34828 = 34828;
|
||||||
public static final int LARRANS_BIG_CHEST = 34829;
|
public static final int LARRANS_BIG_CHEST = 34829;
|
||||||
public static final int LARRANS_BIG_CHEST_34830 = 34830;
|
public static final int LARRANS_BIG_CHEST_34830 = 34830;
|
||||||
@@ -19539,6 +19545,9 @@ public final class ObjectID
|
|||||||
public static final int NIGHTMARE_TOPIARY = 37630;
|
public static final int NIGHTMARE_TOPIARY = 37630;
|
||||||
public static final int SUPPLIES_37631 = 37631;
|
public static final int SUPPLIES_37631 = 37631;
|
||||||
public static final int BANNER_37726 = 37726;
|
public static final int BANNER_37726 = 37726;
|
||||||
|
public static final int RABBIT = 37727;
|
||||||
|
public static final int RABBIT_37728 = 37728;
|
||||||
|
public static final int GRAVE_37729 = 37729;
|
||||||
public static final int ENERGY_BARRIER_37730 = 37730;
|
public static final int ENERGY_BARRIER_37730 = 37730;
|
||||||
public static final int ENERGY_BARRIER_37731 = 37731;
|
public static final int ENERGY_BARRIER_37731 = 37731;
|
||||||
public static final int SPORE = 37738;
|
public static final int SPORE = 37738;
|
||||||
@@ -19581,7 +19590,19 @@ public final class ObjectID
|
|||||||
public static final int CRATE_37936 = 37936;
|
public static final int CRATE_37936 = 37936;
|
||||||
public static final int DOOR_37937 = 37937;
|
public static final int DOOR_37937 = 37937;
|
||||||
public static final int DOOR_37938 = 37938;
|
public static final int DOOR_37938 = 37938;
|
||||||
|
public static final int BROKEN_GOAT_HORN = 37939;
|
||||||
|
public static final int GATE_37941 = 37941;
|
||||||
|
public static final int GATE_37942 = 37942;
|
||||||
|
public static final int GATE_37943 = 37943;
|
||||||
|
public static final int GATE_37944 = 37944;
|
||||||
|
public static final int TREE_37946 = 37946;
|
||||||
|
public static final int DEAD_TREE_37948 = 37948;
|
||||||
public static final int SCOREBOARD_37949 = 37949;
|
public static final int SCOREBOARD_37949 = 37949;
|
||||||
public static final int COFFIN_37951 = 37951;
|
public static final int COFFIN_37951 = 37951;
|
||||||
|
public static final int JUNGLE_TREE_37952 = 37952;
|
||||||
|
public static final int YEW_37953 = 37953;
|
||||||
|
public static final int TREE_STUMP_37954 = 37954;
|
||||||
|
public static final int FURNACE_37955 = 37955;
|
||||||
|
public static final int HANDY_PORTAL = 37957;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,18 +26,6 @@ package net.runelite.api;
|
|||||||
|
|
||||||
public final class ScriptID
|
public final class ScriptID
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Handles zoom input
|
|
||||||
*
|
|
||||||
* Updates the VarClientInts (73, 74) to this same value
|
|
||||||
* <ul>
|
|
||||||
* <li> int Reset zoom position </li>
|
|
||||||
* <li> int Reset zoom position </li>
|
|
||||||
* </ul>
|
|
||||||
*/
|
|
||||||
@ScriptArguments(integer = 2)
|
|
||||||
public static final int CAMERA_DO_ZOOM = 42;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates the scrollbar handle and container to the new height of the content container
|
* Updates the scrollbar handle and container to the new height of the content container
|
||||||
* <ul>
|
* <ul>
|
||||||
@@ -59,6 +47,12 @@ public final class ScriptID
|
|||||||
@ScriptArguments(integer = 1, string = 1)
|
@ScriptArguments(integer = 1, string = 1)
|
||||||
public static final int CHATBOX_INPUT = 96;
|
public static final int CHATBOX_INPUT = 96;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rebuilds the chatbox
|
||||||
|
*/
|
||||||
|
@ScriptArguments()
|
||||||
|
public static final int BUILD_CHATBOX = 216;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Opens the Private Message chat interface
|
* Opens the Private Message chat interface
|
||||||
*
|
*
|
||||||
@@ -70,12 +64,6 @@ public final class ScriptID
|
|||||||
@ScriptArguments(string = 1)
|
@ScriptArguments(string = 1)
|
||||||
public static final int OPEN_PRIVATE_MESSAGE_INTERFACE = 107;
|
public static final int OPEN_PRIVATE_MESSAGE_INTERFACE = 107;
|
||||||
|
|
||||||
/**
|
|
||||||
* Rebuilds the chatbox
|
|
||||||
*/
|
|
||||||
@ScriptArguments()
|
|
||||||
public static final int BUILD_CHATBOX = 216;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Rebuilds the text input widget inside the chat interface
|
* Rebuilds the text input widget inside the chat interface
|
||||||
* <ul>
|
* <ul>
|
||||||
@@ -85,12 +73,6 @@ public final class ScriptID
|
|||||||
@ScriptArguments(string = 1)
|
@ScriptArguments(string = 1)
|
||||||
public static final int CHAT_TEXT_INPUT_REBUILD = 222;
|
public static final int CHAT_TEXT_INPUT_REBUILD = 222;
|
||||||
|
|
||||||
/**
|
|
||||||
* Builds the chatbox input widget
|
|
||||||
*/
|
|
||||||
@ScriptArguments()
|
|
||||||
public static final int CHAT_PROMPT_INIT = 223;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Closes the chatbox input
|
* Closes the chatbox input
|
||||||
* <ul>
|
* <ul>
|
||||||
@@ -127,6 +109,12 @@ public final class ScriptID
|
|||||||
@ScriptArguments(integer = 20)
|
@ScriptArguments(integer = 20)
|
||||||
public static final int BANK_PIN_OP = 685;
|
public static final int BANK_PIN_OP = 685;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Builds the chatbox input widget
|
||||||
|
*/
|
||||||
|
@ScriptArguments()
|
||||||
|
public static final int CHAT_PROMPT_INIT = 223;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks the state of the given stash unit.
|
* Checks the state of the given stash unit.
|
||||||
* <ul>
|
* <ul>
|
||||||
@@ -135,7 +123,7 @@ public final class ScriptID
|
|||||||
* <li>int Bitpacked stash unit states 2</li>
|
* <li>int Bitpacked stash unit states 2</li>
|
||||||
* <li>int Bitpacked stash unit states 3</li>
|
* <li>int Bitpacked stash unit states 3</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
* <p>
|
*
|
||||||
* Returns a pair of booleans indicating if the stash unit is built and if it is filled
|
* Returns a pair of booleans indicating if the stash unit is built and if it is filled
|
||||||
*/
|
*/
|
||||||
@ScriptArguments(integer = 4)
|
@ScriptArguments(integer = 4)
|
||||||
@@ -152,19 +140,8 @@ public final class ScriptID
|
|||||||
public static final int DEATH_KEEP_ITEM_EXAMINE = 1603;
|
public static final int DEATH_KEEP_ITEM_EXAMINE = 1603;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a disabled experience drop
|
|
||||||
*
|
|
||||||
* <ul>
|
|
||||||
* <li>int (Skill ordinal) Sets what icon to use</li>
|
|
||||||
* <li>int Amount of exp to drop</li>
|
|
||||||
* </ul>
|
|
||||||
*/
|
|
||||||
@ScriptArguments(integer = 2)
|
|
||||||
public static final int XPDROP_DISABLED = 2091;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <ul>
|
|
||||||
* Queries the completion state of a quest by its struct id
|
* Queries the completion state of a quest by its struct id
|
||||||
|
* <ul>
|
||||||
* <li> int (struct) The id of the quest
|
* <li> int (struct) The id of the quest
|
||||||
* </ul>
|
* </ul>
|
||||||
* Returns
|
* Returns
|
||||||
@@ -185,6 +162,18 @@ public final class ScriptID
|
|||||||
@ScriptArguments(integer = 2)
|
@ScriptArguments(integer = 2)
|
||||||
public static final int DIARY_QUEST_UPDATE_LINECOUNT = 2523;
|
public static final int DIARY_QUEST_UPDATE_LINECOUNT = 2523;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles zoom input
|
||||||
|
*
|
||||||
|
* Updates the VarClientInts (73, 74) to this same value
|
||||||
|
* <ul>
|
||||||
|
* <li> int Reset zoom position </li>
|
||||||
|
* <li> int Reset zoom position </li>
|
||||||
|
* </ul>
|
||||||
|
*/
|
||||||
|
@ScriptArguments(integer = 2)
|
||||||
|
public static final int CAMERA_DO_ZOOM = 42;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Rebuilds the Spellbook
|
* Rebuilds the Spellbook
|
||||||
*/
|
*/
|
||||||
@@ -206,6 +195,17 @@ public final class ScriptID
|
|||||||
@ScriptArguments(string = 2)
|
@ScriptArguments(string = 2)
|
||||||
public static final int PRIVMSG = 10004;
|
public static final int PRIVMSG = 10004;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a disabled experience drop
|
||||||
|
*
|
||||||
|
* <ul>
|
||||||
|
* <li>int (Skill ordinal) Sets what icon to use</li>
|
||||||
|
* <li>int Amount of exp to drop</li>
|
||||||
|
* </ul>
|
||||||
|
*/
|
||||||
|
@ScriptArguments(integer = 2)
|
||||||
|
public static final int XPDROP_DISABLED = 2091;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Join a clan, duh
|
* Join a clan, duh
|
||||||
*/
|
*/
|
||||||
@@ -262,7 +262,7 @@ public final class ScriptID
|
|||||||
/**
|
/**
|
||||||
* Builds the grand exchange item search widget
|
* Builds the grand exchange item search widget
|
||||||
*/
|
*/
|
||||||
@ScriptArguments(integer = 2)
|
@ScriptArguments(integer = 3)
|
||||||
public static final int GE_ITEM_SEARCH = 752;
|
public static final int GE_ITEM_SEARCH = 752;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -309,4 +309,3 @@ public final class ScriptID
|
|||||||
@ScriptArguments(integer = 7)
|
@ScriptArguments(integer = 7)
|
||||||
public static final int IGNORE_UPDATE = 630;
|
public static final int IGNORE_UPDATE = 630;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,6 +52,12 @@ public enum VarClientInt
|
|||||||
*/
|
*/
|
||||||
INPUT_TYPE(5),
|
INPUT_TYPE(5),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The game sets this to the same value as {@link #CAMERA_ZOOM_RESIZABLE_VIEWPORT}
|
||||||
|
*/
|
||||||
|
CAMERA_ZOOM_FIXED_VIEWPORT(73),
|
||||||
|
CAMERA_ZOOM_RESIZABLE_VIEWPORT(74),
|
||||||
|
|
||||||
MEMBERSHIP_STATUS(103),
|
MEMBERSHIP_STATUS(103),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -435,12 +435,12 @@ public enum Varbits
|
|||||||
DAILY_ESSENCE_COLLECTED(4547),
|
DAILY_ESSENCE_COLLECTED(4547),
|
||||||
DAILY_RUNES_COLLECTED(4540),
|
DAILY_RUNES_COLLECTED(4540),
|
||||||
DAILY_SAND_COLLECTED(4549),
|
DAILY_SAND_COLLECTED(4549),
|
||||||
DAILY_ARROWS_STATE(4563),
|
|
||||||
DAILY_FLAX_STATE(4559),
|
DAILY_FLAX_STATE(4559),
|
||||||
|
DAILY_ARROWS_STATE(4563),
|
||||||
/**
|
/**
|
||||||
* This varbit tracks how much bonemeal has been redeemed from Robin
|
* This varbit tracks how much bonemeal has been redeemed from Robin
|
||||||
* The player gets 13 for each diary completed above and including Medium, for a maxiumum of 39
|
* The player gets 13 for each diary completed above and including Medium, for a maxiumum of 39
|
||||||
*/
|
*/
|
||||||
DAILY_BONEMEAL_STATE(4543),
|
DAILY_BONEMEAL_STATE(4543),
|
||||||
|
|
||||||
DAILY_DYNAMITE_COLLECTED(7939),
|
DAILY_DYNAMITE_COLLECTED(7939),
|
||||||
@@ -632,6 +632,12 @@ public enum Varbits
|
|||||||
QUEST_MISTHALIN_MYSTERY(3468),
|
QUEST_MISTHALIN_MYSTERY(3468),
|
||||||
QUEST_THE_CORSAIR_CURSE(6071),
|
QUEST_THE_CORSAIR_CURSE(6071),
|
||||||
QUEST_X_MARKS_THE_SPOT(8063),
|
QUEST_X_MARKS_THE_SPOT(8063),
|
||||||
|
QUEST_ERNEST_LEVER_A(1788),
|
||||||
|
QUEST_ERNEST_LEVER_B(1789),
|
||||||
|
QUEST_ERNEST_LEVER_C(1790),
|
||||||
|
QUEST_ERNEST_LEVER_D(1791),
|
||||||
|
QUEST_ERNEST_LEVER_E(1792),
|
||||||
|
QUEST_ERNEST_LEVER_F(1793),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* member Quest varbits, these don't hold the completion value.
|
* member Quest varbits, these don't hold the completion value.
|
||||||
@@ -746,6 +752,22 @@ public enum Varbits
|
|||||||
/**
|
/**
|
||||||
* Starts at 100, counts down every 10 ticks (6 seconds)
|
* Starts at 100, counts down every 10 ticks (6 seconds)
|
||||||
*/
|
*/
|
||||||
|
TWISTED_LEAGUE_RELIC_1(10049),
|
||||||
|
TWISTED_LEAGUE_RELIC_2(10050),
|
||||||
|
TWISTED_LEAGUE_RELIC_3(10051),
|
||||||
|
TWISTED_LEAGUE_RELIC_4(10052),
|
||||||
|
TWISTED_LEAGUE_RELIC_5(10053),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether the Special Attack orb is disabled due to being in a PvP area
|
||||||
|
*
|
||||||
|
* 0 = Enabled (player is not in PvP)
|
||||||
|
* 1 = Disabled (player in in PvP)
|
||||||
|
*
|
||||||
|
* @see <a href="https://oldschool.runescape.wiki/w/Minimap#Special_attack_orb">The OSRS Wiki's Minimap page</a>
|
||||||
|
*/
|
||||||
|
PVP_SPEC_ORB(8121),
|
||||||
|
|
||||||
LMS_POISON_PROGRESS(5317),
|
LMS_POISON_PROGRESS(5317),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -787,7 +809,6 @@ public enum Varbits
|
|||||||
EMOTES_TAB_HOTKEY(4687),
|
EMOTES_TAB_HOTKEY(4687),
|
||||||
CLAN_TAB_HOTKEY(4683),
|
CLAN_TAB_HOTKEY(4683),
|
||||||
MUSIC_TAB_HOTKEY(4688);
|
MUSIC_TAB_HOTKEY(4688);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The raw varbit ID.
|
* The raw varbit ID.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1321,6 +1321,7 @@ public class WidgetID
|
|||||||
|
|
||||||
static class Options
|
static class Options
|
||||||
{
|
{
|
||||||
|
static final int CAMERA_ZOOM_SLIDER_HANDLE = 15;
|
||||||
static final int MUSIC_SLIDER = 37;
|
static final int MUSIC_SLIDER = 37;
|
||||||
static final int SOUND_EFFECT_SLIDER = 43;
|
static final int SOUND_EFFECT_SLIDER = 43;
|
||||||
static final int AREA_SOUND_SLIDER = 49;
|
static final int AREA_SOUND_SLIDER = 49;
|
||||||
|
|||||||
@@ -592,7 +592,6 @@ public enum WidgetInfo
|
|||||||
FOSSIL_MUSHROOM_MEADOW(WidgetID.FOSSIL_ISLAND_MUSHROOM_TELE_GROUP_ID, WidgetID.FossilMushroomTeleport.MUSHROOM_MEADOW),
|
FOSSIL_MUSHROOM_MEADOW(WidgetID.FOSSIL_ISLAND_MUSHROOM_TELE_GROUP_ID, WidgetID.FossilMushroomTeleport.MUSHROOM_MEADOW),
|
||||||
|
|
||||||
MINIGAME_TELEPORT_BUTTON(WidgetID.MINIGAME_TAB_ID, WidgetID.Minigames.TELEPORT_BUTTON),
|
MINIGAME_TELEPORT_BUTTON(WidgetID.MINIGAME_TAB_ID, WidgetID.Minigames.TELEPORT_BUTTON),
|
||||||
|
|
||||||
PVP_FOG_OVERLAY(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.FOG_OVERLAY),
|
PVP_FOG_OVERLAY(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.FOG_OVERLAY),
|
||||||
PVP_CONTAINER(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.PVP_WIDGET_CONTAINER),
|
PVP_CONTAINER(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.PVP_WIDGET_CONTAINER),
|
||||||
|
|
||||||
@@ -871,14 +870,13 @@ public enum WidgetInfo
|
|||||||
SEED_VAULT_ITEM_CONTAINER(WidgetID.SEED_VAULT_GROUP_ID, WidgetID.SeedVault.ITEM_CONTAINER),
|
SEED_VAULT_ITEM_CONTAINER(WidgetID.SEED_VAULT_GROUP_ID, WidgetID.SeedVault.ITEM_CONTAINER),
|
||||||
SEED_VAULT_ITEM_TEXT(WidgetID.SEED_VAULT_GROUP_ID, WidgetID.SeedVault.ITEM_TEXT),
|
SEED_VAULT_ITEM_TEXT(WidgetID.SEED_VAULT_GROUP_ID, WidgetID.SeedVault.ITEM_TEXT),
|
||||||
SEED_VAULT_INVENTORY_ITEMS_CONTAINER(WidgetID.SEED_VAULT_INVENTORY_GROUP_ID, WidgetID.SeedVault.INVENTORY_ITEM_CONTAINER),
|
SEED_VAULT_INVENTORY_ITEMS_CONTAINER(WidgetID.SEED_VAULT_INVENTORY_GROUP_ID, WidgetID.SeedVault.INVENTORY_ITEM_CONTAINER),
|
||||||
|
|
||||||
JEWELLERY_BOX_DUEL_RING(WidgetID.JEWELLERY_BOX_GROUP_ID, WidgetID.JewelBox.DUEL_RING),
|
JEWELLERY_BOX_DUEL_RING(WidgetID.JEWELLERY_BOX_GROUP_ID, WidgetID.JewelBox.DUEL_RING),
|
||||||
JEWELLERY_BOX_GAME_NECK(WidgetID.JEWELLERY_BOX_GROUP_ID, WidgetID.JewelBox.GAME_NECK),
|
JEWELLERY_BOX_GAME_NECK(WidgetID.JEWELLERY_BOX_GROUP_ID, WidgetID.JewelBox.GAME_NECK),
|
||||||
JEWELLERY_BOX_COMB_BRAC(WidgetID.JEWELLERY_BOX_GROUP_ID, WidgetID.JewelBox.COMB_BRAC),
|
JEWELLERY_BOX_COMB_BRAC(WidgetID.JEWELLERY_BOX_GROUP_ID, WidgetID.JewelBox.COMB_BRAC),
|
||||||
JEWELLERY_BOX_SKIL_NECK(WidgetID.JEWELLERY_BOX_GROUP_ID, WidgetID.JewelBox.SKIL_NECK),
|
JEWELLERY_BOX_SKIL_NECK(WidgetID.JEWELLERY_BOX_GROUP_ID, WidgetID.JewelBox.SKIL_NECK),
|
||||||
JEWELLERY_BOX_RING_OFGP(WidgetID.JEWELLERY_BOX_GROUP_ID, WidgetID.JewelBox.RING_OFGP),
|
JEWELLERY_BOX_RING_OFGP(WidgetID.JEWELLERY_BOX_GROUP_ID, WidgetID.JewelBox.RING_OFGP),
|
||||||
JEWELLERY_BOX_AMUL_GLOR(WidgetID.JEWELLERY_BOX_GROUP_ID, WidgetID.JewelBox.AMUL_GLOR),
|
JEWELLERY_BOX_AMUL_GLOR(WidgetID.JEWELLERY_BOX_GROUP_ID, WidgetID.JewelBox.AMUL_GLOR),
|
||||||
|
OPTIONS_CAMERA_ZOOM_SLIDER_HANDLE(WidgetID.OPTIONS_GROUP_ID, WidgetID.Options.CAMERA_ZOOM_SLIDER_HANDLE),
|
||||||
OPTIONS_MUSIC_SLIDER(WidgetID.OPTIONS_GROUP_ID, WidgetID.Options.MUSIC_SLIDER),
|
OPTIONS_MUSIC_SLIDER(WidgetID.OPTIONS_GROUP_ID, WidgetID.Options.MUSIC_SLIDER),
|
||||||
OPTIONS_SOUND_EFFECT_SLIDER(WidgetID.OPTIONS_GROUP_ID, WidgetID.Options.SOUND_EFFECT_SLIDER),
|
OPTIONS_SOUND_EFFECT_SLIDER(WidgetID.OPTIONS_GROUP_ID, WidgetID.Options.SOUND_EFFECT_SLIDER),
|
||||||
OPTIONS_AREA_SOUND_SLIDER(WidgetID.OPTIONS_GROUP_ID, WidgetID.Options.AREA_SOUND_SLIDER),
|
OPTIONS_AREA_SOUND_SLIDER(WidgetID.OPTIONS_GROUP_ID, WidgetID.Options.AREA_SOUND_SLIDER),
|
||||||
@@ -976,4 +974,4 @@ public enum WidgetInfo
|
|||||||
return groupId << 16 | childId;
|
return groupId << 16 | childId;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import java.text.SimpleDateFormat
|
|||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id(Plugins.shadow.first) version Plugins.shadow.second
|
id("com.github.johnrengelman.shadow") version "5.2.0"
|
||||||
java
|
java
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,69 +38,69 @@ apply<BootstrapPlugin>()
|
|||||||
description = "RuneLite Client"
|
description = "RuneLite Client"
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
annotationProcessor(Libraries.lombok)
|
annotationProcessor(group = "org.projectlombok", name = "lombok", version = "1.18.12")
|
||||||
annotationProcessor(Libraries.pf4j)
|
annotationProcessor(group = "org.pf4j", name = "pf4j", version = "3.2.0")
|
||||||
|
|
||||||
api(project(":runelite-api"))
|
api(project(":runelite-api"))
|
||||||
|
|
||||||
compileOnly(Libraries.javax)
|
compileOnly(group = "javax.annotation", name = "javax.annotation-api", version = "1.3.2")
|
||||||
compileOnly(Libraries.lombok)
|
compileOnly(group = "org.projectlombok", name = "lombok", version = "1.18.12")
|
||||||
compileOnly(Libraries.orangeExtensions)
|
compileOnly(group = "net.runelite", name = "orange-extensions", version = "1.0")
|
||||||
|
|
||||||
implementation(Libraries.logback)
|
implementation(group = "ch.qos.logback", name = "logback-classic", version = "1.2.3")
|
||||||
implementation(Libraries.gson)
|
implementation(group = "com.google.code.gson", name = "gson", version = "2.8.6")
|
||||||
implementation(Libraries.guava)
|
implementation(group = "com.google.guava", name = "guava", version = "28.2-jre")
|
||||||
implementation(Libraries.guice)
|
implementation(group = "com.google.inject", name = "guice", version = "4.2.3", classifier = "no_aop")
|
||||||
implementation(Libraries.h2)
|
implementation(group = "com.h2database", name = "h2", version = "1.4.200")
|
||||||
implementation(Libraries.rxrelay)
|
implementation(group = "com.openosrs.rxrelay3", name = "rxrelay", version = "3.0.0-SNAPSHOT")
|
||||||
implementation(Libraries.okhttp3)
|
implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.5.0")
|
||||||
implementation(Libraries.rxjava)
|
implementation(group = "io.reactivex.rxjava3", name = "rxjava", version = "3.0.2")
|
||||||
implementation(Libraries.jna)
|
implementation(group = "net.java.dev.jna", name = "jna", version = "5.5.0")
|
||||||
implementation(Libraries.javagroups)
|
implementation(group = "org.jgroups", name = "jgroups", version = "4.2.1.Final")
|
||||||
implementation(Libraries.jnaPlatform)
|
implementation(group = "net.java.dev.jna", name = "jna-platform", version = "5.5.0")
|
||||||
implementation(Libraries.discord)
|
implementation(group = "net.runelite", name = "discord", version = "1.1")
|
||||||
implementation(Libraries.substance)
|
implementation(group = "org.pushing-pixels", name = "radiance-substance", version = "2.5.1")
|
||||||
implementation(Libraries.jopt)
|
implementation(group = "net.sf.jopt-simple", name = "jopt-simple", version = "5.0.4")
|
||||||
implementation(Libraries.apacheCommonsText)
|
implementation(group = "org.apache.commons", name = "commons-text", version = "1.8")
|
||||||
implementation(Libraries.annotations)
|
implementation(group = "org.jetbrains", name = "annotations", version = "19.0.0")
|
||||||
implementation(Libraries.jogampGluegen)
|
implementation(group = "org.jogamp.gluegen", name = "gluegen-rt", version = "2.3.2")
|
||||||
implementation(Libraries.jogampJogl)
|
implementation(group = "org.jogamp.jogl", name = "jogl-all", version = "2.3.2")
|
||||||
implementation(Libraries.jooq)
|
implementation(group = "org.jooq", name = "jooq", version = "3.13.1")
|
||||||
implementation(Libraries.jooqCodegen)
|
implementation(group = "org.jooq", name = "jooq-codegen", version = "3.13.1")
|
||||||
implementation(Libraries.jooqMeta)
|
implementation(group = "org.jooq", name = "jooq-meta", version = "3.13.1")
|
||||||
implementation(Libraries.sentry)
|
implementation(group = "io.sentry", name = "sentry-logback", version = "1.7.30")
|
||||||
implementation(Libraries.semver)
|
implementation(group = "com.github.zafarkhaja", name = "java-semver", version = "0.9.0")
|
||||||
implementation(Libraries.slf4jApi)
|
implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30")
|
||||||
implementation(Libraries.pf4j) {
|
implementation(group = "org.pf4j", name = "pf4j", version = "3.2.0") {
|
||||||
exclude(group = "org.slf4j")
|
exclude(group = "org.slf4j")
|
||||||
}
|
}
|
||||||
implementation(Libraries.pf4jUpdate)
|
implementation(group = "org.pf4j", name = "pf4j-update", version = "2.3.0")
|
||||||
implementation(project(":http-api"))
|
implementation(project(":http-api"))
|
||||||
|
|
||||||
runtimeOnly(Libraries.trident)
|
runtimeOnly(group = "org.pushing-pixels", name = "radiance-trident", version = "2.5.1")
|
||||||
runtimeOnly(Libraries.jogampGluegenLinuxAmd64)
|
runtimeOnly(group = "org.jogamp.gluegen", name = "gluegen-rt", version = "2.3.2", classifier = "natives-linux-amd64")
|
||||||
runtimeOnly(Libraries.jogampGluegenLinuxI586)
|
runtimeOnly(group = "org.jogamp.gluegen", name = "gluegen-rt", version = "2.3.2", classifier = "natives-linux-i586")
|
||||||
runtimeOnly(Libraries.jogampGluegenWindowsAmd64)
|
runtimeOnly(group = "org.jogamp.gluegen", name = "gluegen-rt", version = "2.3.2", classifier = "natives-windows-amd64")
|
||||||
runtimeOnly(Libraries.jogampGluegenWindowsI586)
|
runtimeOnly(group = "org.jogamp.gluegen", name = "gluegen-rt", version = "2.3.2", classifier = "natives-windows-i586")
|
||||||
runtimeOnly(Libraries.jogampJoglLinuxAmd64)
|
runtimeOnly(group = "org.jogamp.jogl", name = "jogl-all", version = "2.3.2", classifier = "natives-linux-amd64")
|
||||||
runtimeOnly(Libraries.jogampJoglLinuxI586)
|
runtimeOnly(group = "org.jogamp.jogl", name = "jogl-all", version = "2.3.2", classifier = "natives-linux-i586")
|
||||||
runtimeOnly(Libraries.jogampJoglWindowsAmd64)
|
runtimeOnly(group = "org.jogamp.jogl", name = "jogl-all", version = "2.3.2", classifier = "natives-windows-amd64")
|
||||||
runtimeOnly(Libraries.jogampJoglWindowsI586)
|
runtimeOnly(group = "org.jogamp.jogl", name = "jogl-all", version = "2.3.2", classifier = "natives-windows-i586")
|
||||||
runtimeOnly(project(":injected-client"))
|
runtimeOnly(project(":injected-client"))
|
||||||
runtimeOnly(project(":runescape-api"))
|
runtimeOnly(project(":runescape-api"))
|
||||||
|
|
||||||
testAnnotationProcessor(Libraries.lombok)
|
testAnnotationProcessor(group = "org.projectlombok", name = "lombok", version = "1.18.12")
|
||||||
|
|
||||||
testCompileOnly(Libraries.lombok)
|
testCompileOnly(group = "org.projectlombok", name = "lombok", version = "1.18.12")
|
||||||
|
|
||||||
testImplementation(Libraries.guiceGrapher)
|
testImplementation(group = "com.google.inject.extensions", name = "guice-grapher", version = "4.2.3")
|
||||||
testImplementation(Libraries.guiceTestlib)
|
testImplementation(group = "com.google.inject.extensions", name = "guice-testlib", version = "4.2.3")
|
||||||
testImplementation(Libraries.hamcrest)
|
testImplementation(group = "org.hamcrest", name = "hamcrest-library", version = "2.2")
|
||||||
testImplementation(Libraries.junit)
|
testImplementation(group = "junit", name = "junit", version = "4.13")
|
||||||
testImplementation(Libraries.mockitoCore)
|
testImplementation(group = "org.mockito", name = "mockito-core", version = "3.3.3")
|
||||||
testImplementation(Libraries.mockitoInline)
|
testImplementation(group = "org.mockito", name = "mockito-inline", version = "3.3.3")
|
||||||
testImplementation(Libraries.okhttp3Webserver)
|
testImplementation(group = "com.squareup.okhttp3", name = "mockwebserver", version = "4.5.0")
|
||||||
testImplementation(Libraries.slf4jApi)
|
testImplementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30")
|
||||||
}
|
}
|
||||||
|
|
||||||
fun formatDate(date: Date?) = with(date ?: Date()) {
|
fun formatDate(date: Date?) = with(date ?: Date()) {
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ package net.runelite.client;
|
|||||||
|
|
||||||
import ch.qos.logback.classic.Level;
|
import ch.qos.logback.classic.Level;
|
||||||
import ch.qos.logback.classic.Logger;
|
import ch.qos.logback.classic.Logger;
|
||||||
|
import com.github.zafarkhaja.semver.Version;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.inject.Guice;
|
import com.google.inject.Guice;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
@@ -33,13 +34,20 @@ import com.google.inject.Injector;
|
|||||||
import io.reactivex.rxjava3.core.Completable;
|
import io.reactivex.rxjava3.core.Completable;
|
||||||
import io.reactivex.rxjava3.schedulers.Schedulers;
|
import io.reactivex.rxjava3.schedulers.Schedulers;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
import java.lang.management.ManagementFactory;
|
import java.lang.management.ManagementFactory;
|
||||||
import java.lang.management.RuntimeMXBean;
|
import java.lang.management.RuntimeMXBean;
|
||||||
import java.net.Authenticator;
|
import java.net.Authenticator;
|
||||||
import java.net.PasswordAuthentication;
|
import java.net.PasswordAuthentication;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import java.util.Properties;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Provider;
|
import javax.inject.Provider;
|
||||||
@@ -61,6 +69,7 @@ import net.runelite.client.callback.Hooks;
|
|||||||
import net.runelite.client.chat.ChatMessageManager;
|
import net.runelite.client.chat.ChatMessageManager;
|
||||||
import net.runelite.client.chat.CommandManager;
|
import net.runelite.client.chat.CommandManager;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
|
import net.runelite.client.config.LauncherConfig;
|
||||||
import net.runelite.client.config.OpenOSRSConfig;
|
import net.runelite.client.config.OpenOSRSConfig;
|
||||||
import net.runelite.client.discord.DiscordService;
|
import net.runelite.client.discord.DiscordService;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
@@ -87,6 +96,7 @@ import net.runelite.client.ui.overlay.WidgetOverlay;
|
|||||||
import net.runelite.client.ui.overlay.arrow.ArrowMinimapOverlay;
|
import net.runelite.client.ui.overlay.arrow.ArrowMinimapOverlay;
|
||||||
import net.runelite.client.ui.overlay.arrow.ArrowWorldOverlay;
|
import net.runelite.client.ui.overlay.arrow.ArrowWorldOverlay;
|
||||||
import net.runelite.client.ui.overlay.infobox.InfoBoxOverlay;
|
import net.runelite.client.ui.overlay.infobox.InfoBoxOverlay;
|
||||||
|
import net.runelite.client.ui.overlay.tooltip.TooltipManager;
|
||||||
import net.runelite.client.ui.overlay.tooltip.TooltipOverlay;
|
import net.runelite.client.ui.overlay.tooltip.TooltipOverlay;
|
||||||
import net.runelite.client.ui.overlay.worldmap.WorldMapOverlay;
|
import net.runelite.client.ui.overlay.worldmap.WorldMapOverlay;
|
||||||
import net.runelite.client.util.Groups;
|
import net.runelite.client.util.Groups;
|
||||||
@@ -105,7 +115,6 @@ public class RuneLite
|
|||||||
public static final File RUNELITE_DIR = new File(System.getProperty("user.home"), ".runelite");
|
public static final File RUNELITE_DIR = new File(System.getProperty("user.home"), ".runelite");
|
||||||
public static final File CACHE_DIR = new File(RUNELITE_DIR, "cache");
|
public static final File CACHE_DIR = new File(RUNELITE_DIR, "cache");
|
||||||
public static final File PROFILES_DIR = new File(RUNELITE_DIR, "profiles");
|
public static final File PROFILES_DIR = new File(RUNELITE_DIR, "profiles");
|
||||||
public static final File PLUGIN_DIR = new File(RUNELITE_DIR, "plugins");
|
|
||||||
public static final File EXTERNALPLUGIN_DIR = new File(RUNELITE_DIR, "externalmanager");
|
public static final File EXTERNALPLUGIN_DIR = new File(RUNELITE_DIR, "externalmanager");
|
||||||
public static final File SCREENSHOT_DIR = new File(RUNELITE_DIR, "screenshots");
|
public static final File SCREENSHOT_DIR = new File(RUNELITE_DIR, "screenshots");
|
||||||
public static final File LOGS_DIR = new File(RUNELITE_DIR, "logs");
|
public static final File LOGS_DIR = new File(RUNELITE_DIR, "logs");
|
||||||
@@ -145,6 +154,12 @@ public class RuneLite
|
|||||||
@Inject
|
@Inject
|
||||||
private OverlayManager overlayManager;
|
private OverlayManager overlayManager;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private TooltipManager tooltipManager;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private Provider<PartyService> partyService;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private Provider<ItemManager> itemManager;
|
private Provider<ItemManager> itemManager;
|
||||||
|
|
||||||
@@ -190,9 +205,6 @@ public class RuneLite
|
|||||||
@Inject
|
@Inject
|
||||||
private Provider<ChatboxPanelManager> chatboxPanelManager;
|
private Provider<ChatboxPanelManager> chatboxPanelManager;
|
||||||
|
|
||||||
@Inject
|
|
||||||
private Provider<PartyService> partyService;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private Groups groups;
|
private Groups groups;
|
||||||
|
|
||||||
@@ -209,6 +221,9 @@ public class RuneLite
|
|||||||
@Inject
|
@Inject
|
||||||
private OpenOSRSConfig openOSRSConfig;
|
private OpenOSRSConfig openOSRSConfig;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private LauncherConfig launcherConfig;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private Provider<ModelOutlineRenderer> modelOutlineRenderer;
|
private Provider<ModelOutlineRenderer> modelOutlineRenderer;
|
||||||
|
|
||||||
@@ -310,6 +325,45 @@ public class RuneLite
|
|||||||
System.setProperty("cli.world", String.valueOf(world));
|
System.setProperty("cli.world", String.valueOf(world));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Properties properties = new Properties();
|
||||||
|
try (FileInputStream in = new FileInputStream(RuneLite.RUNELITE_DIR + "\\runeliteplus.properties"))
|
||||||
|
{
|
||||||
|
properties.load(new InputStreamReader(in, StandardCharsets.UTF_8));
|
||||||
|
try
|
||||||
|
{
|
||||||
|
@SuppressWarnings("unchecked") Map<String, String> copy = (Map) Map.copyOf(properties);
|
||||||
|
copy.forEach((groupAndKey, value) ->
|
||||||
|
{
|
||||||
|
final String[] split = groupAndKey.split("\\.", 2);
|
||||||
|
final String groupName = split[0];
|
||||||
|
final String key = split[1];
|
||||||
|
|
||||||
|
if (!groupName.equals("openosrs"))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (key.equals("disableHw") && value.equals("true"))
|
||||||
|
{
|
||||||
|
log.info("Disabling HW Accel");
|
||||||
|
System.setProperty("sun.java2d.noddraw", "true");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
log.error("Unexpected error", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (FileNotFoundException ex)
|
||||||
|
{
|
||||||
|
log.error("Unable to load settings - no such file");
|
||||||
|
}
|
||||||
|
catch (IllegalArgumentException | IOException ex)
|
||||||
|
{
|
||||||
|
log.error("Unable to load settings", ex);
|
||||||
|
}
|
||||||
|
|
||||||
final ClientLoader clientLoader = new ClientLoader(options.valueOf(updateMode));
|
final ClientLoader clientLoader = new ClientLoader(options.valueOf(updateMode));
|
||||||
Completable.fromAction(clientLoader::get)
|
Completable.fromAction(clientLoader::get)
|
||||||
.subscribeOn(Schedulers.computation())
|
.subscribeOn(Schedulers.computation())
|
||||||
@@ -378,6 +432,8 @@ public class RuneLite
|
|||||||
RuneLiteSplashScreen.stage(.57, "Loading user config");
|
RuneLiteSplashScreen.stage(.57, "Loading user config");
|
||||||
configManager.load();
|
configManager.load();
|
||||||
|
|
||||||
|
parseLauncherConfig();
|
||||||
|
|
||||||
// Load the session, including saved configuration
|
// Load the session, including saved configuration
|
||||||
RuneLiteSplashScreen.stage(.58, "Loading session data");
|
RuneLiteSplashScreen.stage(.58, "Loading session data");
|
||||||
sessionManager.loadSession();
|
sessionManager.loadSession();
|
||||||
@@ -397,9 +453,6 @@ public class RuneLite
|
|||||||
pluginManager.loadCorePlugins();
|
pluginManager.loadCorePlugins();
|
||||||
externalPluginManager.loadPlugins();
|
externalPluginManager.loadPlugins();
|
||||||
|
|
||||||
// Load external plugins
|
|
||||||
pluginManager.loadExternalPlugins();
|
|
||||||
|
|
||||||
RuneLiteSplashScreen.stage(.76, "Finalizing configuration");
|
RuneLiteSplashScreen.stage(.76, "Finalizing configuration");
|
||||||
|
|
||||||
// Plugins have provided their config, so set default config
|
// Plugins have provided their config, so set default config
|
||||||
@@ -505,6 +558,47 @@ public class RuneLite
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void parseLauncherConfig()
|
||||||
|
{
|
||||||
|
String launcherVersion = RuneLiteProperties.getLauncherVersion();
|
||||||
|
|
||||||
|
if (launcherVersion == null || !Version.valueOf(launcherVersion).greaterThanOrEqualTo(Version.valueOf("2.2.0")))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (launcherConfig.useProxy())
|
||||||
|
{
|
||||||
|
log.info("Setting proxy.");
|
||||||
|
String[] proxy = launcherConfig.proxyDetails().split(":");
|
||||||
|
|
||||||
|
if (proxy.length >= 2)
|
||||||
|
{
|
||||||
|
System.setProperty("socksProxyHost", proxy[0]);
|
||||||
|
System.setProperty("socksProxyPort", proxy[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (proxy.length >= 4)
|
||||||
|
{
|
||||||
|
System.setProperty("java.net.socks.username", proxy[2]);
|
||||||
|
System.setProperty("java.net.socks.password", proxy[3]);
|
||||||
|
|
||||||
|
final String user = proxy[2];
|
||||||
|
final char[] pass = proxy[3].toCharArray();
|
||||||
|
|
||||||
|
Authenticator.setDefault(new Authenticator()
|
||||||
|
{
|
||||||
|
private final PasswordAuthentication auth = new PasswordAuthentication(user, pass);
|
||||||
|
|
||||||
|
protected PasswordAuthentication getPasswordAuthentication()
|
||||||
|
{
|
||||||
|
return auth;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void shutdown()
|
public void shutdown()
|
||||||
{
|
{
|
||||||
clientSessionManager.shutdown();
|
clientSessionManager.shutdown();
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ import javax.inject.Singleton;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.BufferProvider;
|
import net.runelite.api.BufferProvider;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.Constants;
|
|
||||||
import net.runelite.api.Entity;
|
import net.runelite.api.Entity;
|
||||||
import net.runelite.api.MainBufferProvider;
|
import net.runelite.api.MainBufferProvider;
|
||||||
import net.runelite.api.NullItemID;
|
import net.runelite.api.NullItemID;
|
||||||
@@ -75,6 +74,7 @@ import net.runelite.client.ui.overlay.OverlayManager;
|
|||||||
import net.runelite.client.ui.overlay.OverlayRenderer;
|
import net.runelite.client.ui.overlay.OverlayRenderer;
|
||||||
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
||||||
import net.runelite.client.util.DeferredEventBus;
|
import net.runelite.client.util.DeferredEventBus;
|
||||||
|
import net.runelite.client.util.RSTimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class contains field required for mixins and runelite hooks to work.
|
* This class contains field required for mixins and runelite hooks to work.
|
||||||
@@ -85,13 +85,16 @@ import net.runelite.client.util.DeferredEventBus;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class Hooks implements Callbacks
|
public class Hooks implements Callbacks
|
||||||
{
|
{
|
||||||
private static final long CHECK = Constants.GAME_TICK_LENGTH; // ms - how often to run checks
|
private static final long CHECK = RSTimeUnit.GAME_TICKS.getDuration().toNanos(); // ns - how often to run checks
|
||||||
|
|
||||||
private static final Injector injector = RuneLite.getInjector();
|
private static final Injector injector = RuneLite.getInjector();
|
||||||
private static final Client client = injector.getInstance(Client.class);
|
private static final Client client = injector.getInstance(Client.class);
|
||||||
private static final OverlayRenderer renderer = injector.getInstance(OverlayRenderer.class);
|
private static final OverlayRenderer renderer = injector.getInstance(OverlayRenderer.class);
|
||||||
private static final OverlayManager overlayManager = injector.getInstance(OverlayManager.class);
|
private static final OverlayManager overlayManager = injector.getInstance(OverlayManager.class);
|
||||||
|
|
||||||
|
private static final GameTick GAME_TICK = GameTick.INSTANCE;
|
||||||
|
private static final BeforeRender BEFORE_RENDER = BeforeRender.INSTANCE;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private EventBus eventBus;
|
private EventBus eventBus;
|
||||||
|
|
||||||
@@ -139,7 +142,6 @@ public class Hooks implements Callbacks
|
|||||||
/**
|
/**
|
||||||
* Get the Graphics2D for the MainBufferProvider image
|
* Get the Graphics2D for the MainBufferProvider image
|
||||||
* This caches the Graphics2D instance so it can be reused
|
* This caches the Graphics2D instance so it can be reused
|
||||||
*
|
|
||||||
* @param mainBufferProvider
|
* @param mainBufferProvider
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -190,7 +192,7 @@ public class Hooks implements Callbacks
|
|||||||
|
|
||||||
clientThread.invoke();
|
clientThread.invoke();
|
||||||
|
|
||||||
long now = System.currentTimeMillis();
|
long now = System.nanoTime();
|
||||||
|
|
||||||
if (now - lastCheck < CHECK)
|
if (now - lastCheck < CHECK)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ package net.runelite.client.chat;
|
|||||||
import com.google.common.base.MoreObjects;
|
import com.google.common.base.MoreObjects;
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
import com.google.common.collect.HashMultimap;
|
import com.google.common.collect.HashMultimap;
|
||||||
import com.google.common.collect.ImmutableSet;
|
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@@ -59,7 +58,7 @@ import net.runelite.client.util.ColorUtil;
|
|||||||
@Singleton
|
@Singleton
|
||||||
public class ChatMessageManager
|
public class ChatMessageManager
|
||||||
{
|
{
|
||||||
private static final Set<Integer> TUTORIAL_ISLAND_REGIONS = ImmutableSet.of(12336, 12335, 12592, 12080, 12079, 12436);
|
private static final Set<Integer> TUTORIAL_ISLAND_REGIONS = Set.of(12336, 12335, 12592, 12080, 12079, 12436);
|
||||||
|
|
||||||
private final Multimap<ChatMessageType, ChatColor> colorCache = HashMultimap.create();
|
private final Multimap<ChatMessageType, ChatColor> colorCache = HashMultimap.create();
|
||||||
private final Client client;
|
private final Client client;
|
||||||
@@ -593,7 +592,7 @@ public class ChatMessageManager
|
|||||||
|
|
||||||
// Update the message with RuneLite additions
|
// Update the message with RuneLite additions
|
||||||
line.setRuneLiteFormatMessage(message.getRuneLiteFormattedMessage());
|
line.setRuneLiteFormatMessage(message.getRuneLiteFormattedMessage());
|
||||||
|
|
||||||
if (message.getTimestamp() != 0)
|
if (message.getTimestamp() != 0)
|
||||||
{
|
{
|
||||||
line.setTimestamp(message.getTimestamp());
|
line.setTimestamp(message.getTimestamp());
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ package net.runelite.client.config;
|
|||||||
|
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
import com.google.common.collect.ComparisonChain;
|
import com.google.common.collect.ComparisonChain;
|
||||||
import com.google.common.collect.ImmutableMap;
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
@@ -384,7 +383,7 @@ public class ConfigManager
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked") final Map<String, String> copy = (Map) ImmutableMap.copyOf(this.properties);
|
@SuppressWarnings("unchecked") final Map<String, String> copy = (Map) Map.copyOf(this.properties);
|
||||||
copy.forEach((groupAndKey, value) ->
|
copy.forEach((groupAndKey, value) ->
|
||||||
{
|
{
|
||||||
if (!properties.containsKey(groupAndKey))
|
if (!properties.containsKey(groupAndKey))
|
||||||
@@ -443,7 +442,7 @@ public class ConfigManager
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@SuppressWarnings("unchecked") Map<String, String> copy = (Map) ImmutableMap.copyOf(properties);
|
@SuppressWarnings("unchecked") Map<String, String> copy = (Map) Map.copyOf(properties);
|
||||||
copy.forEach((groupAndKey, value) ->
|
copy.forEach((groupAndKey, value) ->
|
||||||
{
|
{
|
||||||
final String[] split = groupAndKey.split("\\.", 2);
|
final String[] split = groupAndKey.split("\\.", 2);
|
||||||
|
|||||||
@@ -252,45 +252,6 @@ public interface OpenOSRSConfig extends Config
|
|||||||
return new Color(244, 239, 211, 255);
|
return new Color(244, 239, 211, 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Alpha
|
|
||||||
@ConfigItem(
|
|
||||||
position = 14,
|
|
||||||
keyName = "externalColor",
|
|
||||||
name = "External color",
|
|
||||||
description = "Configure the color of external plugins",
|
|
||||||
titleSection = "pluginsColorTitle",
|
|
||||||
hidden = true,
|
|
||||||
unhide = "enabledColors"
|
|
||||||
)
|
|
||||||
default Color externalColor()
|
|
||||||
{
|
|
||||||
return new Color(177, 156, 217, 255);
|
|
||||||
}
|
|
||||||
|
|
||||||
@ConfigTitleSection(
|
|
||||||
keyName = "externalPluginsTitle",
|
|
||||||
name = "External",
|
|
||||||
description = "",
|
|
||||||
position = 15,
|
|
||||||
titleSection = "pluginsTitle"
|
|
||||||
)
|
|
||||||
default Title externalPluginsTitle()
|
|
||||||
{
|
|
||||||
return new Title();
|
|
||||||
}
|
|
||||||
|
|
||||||
@ConfigItem(
|
|
||||||
keyName = "enablePlugins",
|
|
||||||
name = "Enable loading of legacy external plugins",
|
|
||||||
description = "Enable loading of legacy external plugins",
|
|
||||||
position = 16,
|
|
||||||
titleSection = "externalPluginsTitle"
|
|
||||||
)
|
|
||||||
default boolean enablePlugins()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ConfigTitleSection(
|
@ConfigTitleSection(
|
||||||
keyName = "opacityTitle",
|
keyName = "opacityTitle",
|
||||||
name = "Opacity",
|
name = "Opacity",
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ public class ItemManager
|
|||||||
private final LoadingCache<Integer, ItemDefinition> itemDefinitions;
|
private final LoadingCache<Integer, ItemDefinition> itemDefinitions;
|
||||||
private final LoadingCache<OutlineKey, BufferedImage> itemOutlines;
|
private final LoadingCache<OutlineKey, BufferedImage> itemOutlines;
|
||||||
private Map<Integer, ItemPrice> itemPrices = Collections.emptyMap();
|
private Map<Integer, ItemPrice> itemPrices = Collections.emptyMap();
|
||||||
private ImmutableMap<Integer, ItemStats> itemStats = ImmutableMap.of();
|
private Map<Integer, ItemStats> itemStats = Map.of();
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ItemManager(
|
public ItemManager(
|
||||||
|
|||||||
+2
-2
@@ -88,7 +88,7 @@ public class ChatboxTextInput extends ChatboxInput implements KeyListener, Mouse
|
|||||||
@Getter
|
@Getter
|
||||||
private int lines;
|
private int lines;
|
||||||
|
|
||||||
private StringBuffer value = new StringBuffer();
|
private StringBuilder value = new StringBuilder();
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private int cursorStart = 0;
|
private int cursorStart = 0;
|
||||||
@@ -157,7 +157,7 @@ public class ChatboxTextInput extends ChatboxInput implements KeyListener, Mouse
|
|||||||
|
|
||||||
public ChatboxTextInput value(String value)
|
public ChatboxTextInput value(String value)
|
||||||
{
|
{
|
||||||
StringBuffer sb = new StringBuffer();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (char c : value.toCharArray())
|
for (char c : value.toCharArray())
|
||||||
{
|
{
|
||||||
if (charValidator.test(c))
|
if (charValidator.test(c))
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.menus;
|
package net.runelite.client.menus;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
|
||||||
import com.google.common.collect.HashMultimap;
|
import com.google.common.collect.HashMultimap;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
@@ -39,6 +38,7 @@ import java.util.HashSet;
|
|||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
@@ -327,7 +327,7 @@ public class MenuManager
|
|||||||
|
|
||||||
public void addPlayerMenuItem(String menuText)
|
public void addPlayerMenuItem(String menuText)
|
||||||
{
|
{
|
||||||
Preconditions.checkNotNull(menuText);
|
Objects.requireNonNull(menuText);
|
||||||
|
|
||||||
int playerMenuIndex = findEmptyPlayerMenuIndex();
|
int playerMenuIndex = findEmptyPlayerMenuIndex();
|
||||||
if (playerMenuIndex == IDX_UPPER)
|
if (playerMenuIndex == IDX_UPPER)
|
||||||
@@ -340,7 +340,8 @@ public class MenuManager
|
|||||||
|
|
||||||
public void removePlayerMenuItem(String menuText)
|
public void removePlayerMenuItem(String menuText)
|
||||||
{
|
{
|
||||||
Preconditions.checkNotNull(menuText);
|
Objects.requireNonNull(menuText);
|
||||||
|
|
||||||
for (Map.Entry<Integer, String> entry : playerMenuIndexMap.entrySet())
|
for (Map.Entry<Integer, String> entry : playerMenuIndexMap.entrySet())
|
||||||
{
|
{
|
||||||
if (entry.getValue().equalsIgnoreCase(menuText))
|
if (entry.getValue().equalsIgnoreCase(menuText))
|
||||||
|
|||||||
@@ -1,174 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016-2017, Adam <Adam@sigterm.info>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
||||||
* list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
package net.runelite.client.plugins;
|
|
||||||
|
|
||||||
import com.google.inject.Injector;
|
|
||||||
import com.google.inject.Key;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.net.MalformedURLException;
|
|
||||||
import java.net.URLClassLoader;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
import javax.inject.Inject;
|
|
||||||
import javax.inject.Singleton;
|
|
||||||
import javax.swing.SwingUtilities;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import net.runelite.client.RuneLite;
|
|
||||||
import net.runelite.client.config.Config;
|
|
||||||
import net.runelite.client.config.ConfigManager;
|
|
||||||
import net.runelite.client.config.OpenOSRSConfig;
|
|
||||||
|
|
||||||
@Singleton
|
|
||||||
@Slf4j
|
|
||||||
public class ExternalPluginLoader
|
|
||||||
{
|
|
||||||
private static final File BASE = RuneLite.PLUGIN_DIR;
|
|
||||||
|
|
||||||
private final OpenOSRSConfig OpenOSRSConfig;
|
|
||||||
private final PluginManager pluginManager;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
private ConfigManager configManager;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public ExternalPluginLoader(OpenOSRSConfig OpenOSRSConfig, PluginManager pluginManager)
|
|
||||||
{
|
|
||||||
this.OpenOSRSConfig = OpenOSRSConfig;
|
|
||||||
this.pluginManager = pluginManager;
|
|
||||||
|
|
||||||
BASE.mkdirs();
|
|
||||||
}
|
|
||||||
|
|
||||||
void scanAndLoad()
|
|
||||||
{
|
|
||||||
if (!OpenOSRSConfig.enablePlugins())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (File file : Objects.requireNonNull(BASE.listFiles()))
|
|
||||||
{
|
|
||||||
if (!file.getName().endsWith(".jar"))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
log.info("Loading plugin from {}", file);
|
|
||||||
load(file);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void load(File pluginFile)
|
|
||||||
{
|
|
||||||
PluginClassLoader loader;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
loader = new PluginClassLoader(pluginFile, getClass().getClassLoader());
|
|
||||||
}
|
|
||||||
catch (MalformedURLException ex)
|
|
||||||
{
|
|
||||||
log.warn("Error loading plugin", ex);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
List<Plugin> loadedPlugins;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
loadedPlugins = pluginManager.scanAndInstantiate(loader, null, true);
|
|
||||||
}
|
|
||||||
catch (IOException ex)
|
|
||||||
{
|
|
||||||
close(loader);
|
|
||||||
log.warn("Error loading plugin", ex);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (loadedPlugins.isEmpty())
|
|
||||||
{
|
|
||||||
close(loader);
|
|
||||||
log.warn("No plugin found in plugin {}", pluginFile);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (loadedPlugins.size() > 1)
|
|
||||||
{
|
|
||||||
close(loader);
|
|
||||||
log.warn("You can not have more than one plugin per jar");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Plugin plugin = loadedPlugins.get(0);
|
|
||||||
|
|
||||||
// Initialize default configuration
|
|
||||||
Injector injector = plugin.getInjector();
|
|
||||||
for (Key<?> key : injector.getAllBindings().keySet())
|
|
||||||
{
|
|
||||||
Class<?> type = key.getTypeLiteral().getRawType();
|
|
||||||
if (Config.class.isAssignableFrom(type))
|
|
||||||
{
|
|
||||||
Config config = (Config) injector.getInstance(key);
|
|
||||||
configManager.setDefaultConfiguration(config, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
SwingUtilities.invokeAndWait(() ->
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
pluginManager.startPlugin(plugin);
|
|
||||||
}
|
|
||||||
catch (PluginInstantiationException e)
|
|
||||||
{
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
close(loader);
|
|
||||||
log.warn("unable to start plugin", ex);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Plugin is now running
|
|
||||||
pluginManager.add(plugin);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void close(URLClassLoader classLoader)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
classLoader.close();
|
|
||||||
}
|
|
||||||
catch (IOException ex1)
|
|
||||||
{
|
|
||||||
log.warn(null, ex1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
+23
-15
@@ -24,7 +24,6 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins;
|
package net.runelite.client.plugins;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import com.google.inject.Binder;
|
import com.google.inject.Binder;
|
||||||
import com.google.inject.CreationException;
|
import com.google.inject.CreationException;
|
||||||
import com.google.inject.Injector;
|
import com.google.inject.Injector;
|
||||||
@@ -120,6 +119,7 @@ public class ExternalPluginManager
|
|||||||
@Getter(AccessLevel.PUBLIC)
|
@Getter(AccessLevel.PUBLIC)
|
||||||
private UpdateManager updateManager;
|
private UpdateManager updateManager;
|
||||||
private Map<String, PluginInfo.PluginRelease> lastPluginRelease = new HashMap<>();
|
private Map<String, PluginInfo.PluginRelease> lastPluginRelease = new HashMap<>();
|
||||||
|
private Set<PluginType> pluginTypes = Set.of(PluginType.values());
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ExternalPluginManager(
|
public ExternalPluginManager(
|
||||||
@@ -639,23 +639,29 @@ public class ExternalPluginManager
|
|||||||
Class<? extends Plugin> clazz = plugin.getClass();
|
Class<? extends Plugin> clazz = plugin.getClass();
|
||||||
PluginDescriptor pluginDescriptor = clazz.getAnnotation(PluginDescriptor.class);
|
PluginDescriptor pluginDescriptor = clazz.getAnnotation(PluginDescriptor.class);
|
||||||
|
|
||||||
if (pluginDescriptor == null)
|
try
|
||||||
{
|
{
|
||||||
if (clazz.getSuperclass() == Plugin.class)
|
if (pluginDescriptor == null)
|
||||||
|
{
|
||||||
|
if (clazz.getSuperclass() == Plugin.class)
|
||||||
|
{
|
||||||
|
log.warn("Class {} is a plugin, but has no plugin descriptor", clazz);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (clazz.getSuperclass() != Plugin.class)
|
||||||
|
{
|
||||||
|
log.warn("Class {} has plugin descriptor, but is not a plugin", clazz);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if (!pluginTypes.contains(pluginDescriptor.type()))
|
||||||
{
|
{
|
||||||
log.warn("Class {} is a plugin, but has no plugin descriptor", clazz);
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (clazz.getSuperclass() != Plugin.class)
|
catch (EnumConstantNotPresentException e)
|
||||||
{
|
{
|
||||||
log.warn("Class {} has plugin descriptor, but is not a plugin", clazz);
|
log.warn("{} has an invalid plugin type of {}", clazz, e.getMessage());
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else if (pluginDescriptor.type() == PluginType.EXTERNAL)
|
|
||||||
{
|
|
||||||
log.error("Class {} is using the the new external plugin loader, it should not use PluginType.EXTERNAL",
|
|
||||||
clazz);
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -913,7 +919,7 @@ public class ExternalPluginManager
|
|||||||
|
|
||||||
private Path stopPlugin(String pluginId)
|
private Path stopPlugin(String pluginId)
|
||||||
{
|
{
|
||||||
List<PluginWrapper> startedPlugins = ImmutableList.copyOf(getStartedPlugins());
|
List<PluginWrapper> startedPlugins = List.copyOf(getStartedPlugins());
|
||||||
|
|
||||||
for (PluginWrapper pluginWrapper : startedPlugins)
|
for (PluginWrapper pluginWrapper : startedPlugins)
|
||||||
{
|
{
|
||||||
@@ -1077,6 +1083,8 @@ public class ExternalPluginManager
|
|||||||
String lastVersion = lastRelease.version;
|
String lastVersion = lastRelease.version;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
|
RuneLiteSplashScreen.stage(.59, "Updating " + plugin.id + " to version " + lastVersion);
|
||||||
boolean updated = updateManager.updatePlugin(plugin.id, lastVersion);
|
boolean updated = updateManager.updatePlugin(plugin.id, lastVersion);
|
||||||
|
|
||||||
if (!updated)
|
if (!updated)
|
||||||
@@ -1138,7 +1146,7 @@ public class ExternalPluginManager
|
|||||||
externalPluginManager.loadPlugins();
|
externalPluginManager.loadPlugins();
|
||||||
externalPluginManager.startPlugin(pluginId);
|
externalPluginManager.startPlugin(pluginId);
|
||||||
|
|
||||||
List<PluginWrapper> startedPlugins = ImmutableList.copyOf(getStartedPlugins());
|
List<PluginWrapper> startedPlugins = List.copyOf(getStartedPlugins());
|
||||||
List<Plugin> scannedPlugins = new ArrayList<>();
|
List<Plugin> scannedPlugins = new ArrayList<>();
|
||||||
|
|
||||||
for (PluginWrapper pluginWrapper : startedPlugins)
|
for (PluginWrapper pluginWrapper : startedPlugins)
|
||||||
@@ -1181,7 +1189,7 @@ public class ExternalPluginManager
|
|||||||
externalPluginManager.loadPlugins();
|
externalPluginManager.loadPlugins();
|
||||||
externalPluginManager.startPlugin(pluginId);
|
externalPluginManager.startPlugin(pluginId);
|
||||||
|
|
||||||
List<PluginWrapper> startedPlugins = ImmutableList.copyOf(getStartedPlugins());
|
List<PluginWrapper> startedPlugins = List.copyOf(getStartedPlugins());
|
||||||
List<Plugin> scannedPlugins = new ArrayList<>();
|
List<Plugin> scannedPlugins = new ArrayList<>();
|
||||||
|
|
||||||
for (PluginWrapper pluginWrapper : startedPlugins)
|
for (PluginWrapper pluginWrapper : startedPlugins)
|
||||||
|
|||||||
@@ -106,9 +106,6 @@ public class PluginManager
|
|||||||
private final Groups groups;
|
private final Groups groups;
|
||||||
private final File settingsFileInput;
|
private final File settingsFileInput;
|
||||||
|
|
||||||
@Inject
|
|
||||||
ExternalPluginLoader externalPluginLoader;
|
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
boolean isOutdated;
|
boolean isOutdated;
|
||||||
|
|
||||||
@@ -289,12 +286,6 @@ public class PluginManager
|
|||||||
log.warn("Unable to reset plugin configuration", ex);
|
log.warn("Unable to reset plugin configuration", ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadExternalPlugins()
|
|
||||||
{
|
|
||||||
externalPluginLoader.scanAndLoad();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void loadCorePlugins() throws IOException
|
public void loadCorePlugins() throws IOException
|
||||||
{
|
{
|
||||||
plugins.addAll(scanAndInstantiate(getClass().getClassLoader(), PLUGIN_PACKAGE, false));
|
plugins.addAll(scanAndInstantiate(getClass().getClassLoader(), PLUGIN_PACKAGE, false));
|
||||||
@@ -380,12 +371,6 @@ public class PluginManager
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (external && pluginDescriptor.type() != PluginType.EXTERNAL)
|
|
||||||
{
|
|
||||||
log.error("Class {} is using the external plugin loader but doesn't have PluginType.EXTERNAL", clazz);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!pluginDescriptor.loadWhenOutdated() && isOutdated)
|
if (!pluginDescriptor.loadWhenOutdated() && isOutdated)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ public enum PluginType
|
|||||||
SKILLING("Skilling"),
|
SKILLING("Skilling"),
|
||||||
UTILITY("Utilities"),
|
UTILITY("Utilities"),
|
||||||
MISCELLANEOUS("Miscellaneous"),
|
MISCELLANEOUS("Miscellaneous"),
|
||||||
EXTERNAL("Legacy External"),
|
|
||||||
IMPORTANT("System"),
|
IMPORTANT("System"),
|
||||||
MINIGAME("Minigame"),
|
MINIGAME("Minigame"),
|
||||||
GAMEMODE("Gamemode"),
|
GAMEMODE("Gamemode"),
|
||||||
|
|||||||
+1
-4
@@ -24,7 +24,6 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.config;
|
package net.runelite.client.plugins.config;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
@@ -105,7 +104,7 @@ public class PluginListPanel extends PluginPanel
|
|||||||
private static final String PINNED_PLUGINS_CONFIG_KEY = "pinnedPlugins";
|
private static final String PINNED_PLUGINS_CONFIG_KEY = "pinnedPlugins";
|
||||||
|
|
||||||
private static final List<String> colorOptions = Arrays.asList("enabledColors", "pvmColor", "pvpColor", "skillingColor", "utilityColor", "minigameColor", "miscellaneousColor", "gamemodeColor");
|
private static final List<String> colorOptions = Arrays.asList("enabledColors", "pvmColor", "pvpColor", "skillingColor", "utilityColor", "minigameColor", "miscellaneousColor", "gamemodeColor");
|
||||||
private static final ImmutableList<PluginType> definedOrder = ImmutableList.of(PluginType.IMPORTANT, PluginType.PVM, PluginType.SKILLING, PluginType.PVP, PluginType.UTILITY, PluginType.MINIGAME, PluginType.MISCELLANEOUS, PluginType.GAMEMODE, PluginType.EXTERNAL, PluginType.UNCATEGORIZED);
|
private static final List<PluginType> definedOrder = List.of(PluginType.IMPORTANT, PluginType.PVM, PluginType.SKILLING, PluginType.PVP, PluginType.UTILITY, PluginType.MINIGAME, PluginType.MISCELLANEOUS, PluginType.GAMEMODE, PluginType.UNCATEGORIZED);
|
||||||
private static final Comparator<PluginListItem> categoryComparator = Comparator.comparing(plugin -> definedOrder.indexOf(plugin.getPluginType()));
|
private static final Comparator<PluginListItem> categoryComparator = Comparator.comparing(plugin -> definedOrder.indexOf(plugin.getPluginType()));
|
||||||
|
|
||||||
private final ConfigManager configManager;
|
private final ConfigManager configManager;
|
||||||
@@ -618,8 +617,6 @@ public class PluginListPanel extends PluginPanel
|
|||||||
|
|
||||||
switch (pluginType)
|
switch (pluginType)
|
||||||
{
|
{
|
||||||
case EXTERNAL:
|
|
||||||
return openOSRSConfig.externalColor();
|
|
||||||
case PVM:
|
case PVM:
|
||||||
return openOSRSConfig.pvmColor();
|
return openOSRSConfig.pvmColor();
|
||||||
case PVP:
|
case PVP:
|
||||||
|
|||||||
@@ -43,9 +43,9 @@ import javax.swing.JPanel;
|
|||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import static net.runelite.client.RuneLite.LOGS_DIR;
|
import static net.runelite.client.RuneLite.LOGS_DIR;
|
||||||
import static net.runelite.client.RuneLite.PLUGINS_DIR;
|
|
||||||
import static net.runelite.client.RuneLite.RUNELITE_DIR;
|
import static net.runelite.client.RuneLite.RUNELITE_DIR;
|
||||||
import static net.runelite.client.RuneLite.SCREENSHOT_DIR;
|
import static net.runelite.client.RuneLite.SCREENSHOT_DIR;
|
||||||
|
import static net.runelite.client.RuneLite.EXTERNALPLUGIN_DIR;
|
||||||
import net.runelite.client.RuneLiteProperties;
|
import net.runelite.client.RuneLiteProperties;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
@@ -157,7 +157,7 @@ class InfoPanel extends PluginPanel
|
|||||||
actionsContainer.add(buildLinkPanel(IMPORT_ICON, "Launcher Download", "for the latest launcher", "https://github.com/open-osrs/launcher/releases"));
|
actionsContainer.add(buildLinkPanel(IMPORT_ICON, "Launcher Download", "for the latest launcher", "https://github.com/open-osrs/launcher/releases"));
|
||||||
actionsContainer.add(buildLinkPanel(FOLDER_ICON, "Open Runelite Directory", "for your .properties file", RUNELITE_DIR));
|
actionsContainer.add(buildLinkPanel(FOLDER_ICON, "Open Runelite Directory", "for your .properties file", RUNELITE_DIR));
|
||||||
actionsContainer.add(buildLinkPanel(FOLDER_ICON, "Open Logs Directory", "for bug reports", LOGS_DIR));
|
actionsContainer.add(buildLinkPanel(FOLDER_ICON, "Open Logs Directory", "for bug reports", LOGS_DIR));
|
||||||
actionsContainer.add(buildLinkPanel(FOLDER_ICON, "Open Plugins Directory", "for plugins", PLUGINS_DIR));
|
actionsContainer.add(buildLinkPanel(FOLDER_ICON, "Open ExternalManager Directory", "to see your plugins", EXTERNALPLUGIN_DIR));
|
||||||
actionsContainer.add(buildLinkPanel(FOLDER_ICON, "Open Screenshots Directory", "for your screenshots", SCREENSHOT_DIR));
|
actionsContainer.add(buildLinkPanel(FOLDER_ICON, "Open Screenshots Directory", "for your screenshots", SCREENSHOT_DIR));
|
||||||
|
|
||||||
JPanel pathPanel = new JPanel();
|
JPanel pathPanel = new JPanel();
|
||||||
|
|||||||
@@ -60,8 +60,8 @@ public class WidgetOverlay extends Overlay
|
|||||||
.put(WidgetInfo.MULTICOMBAT_FIXED, OverlayPosition.BOTTOM_RIGHT)
|
.put(WidgetInfo.MULTICOMBAT_FIXED, OverlayPosition.BOTTOM_RIGHT)
|
||||||
.put(WidgetInfo.MULTICOMBAT_RESIZEABLE, OverlayPosition.CANVAS_TOP_RIGHT)
|
.put(WidgetInfo.MULTICOMBAT_RESIZEABLE, OverlayPosition.CANVAS_TOP_RIGHT)
|
||||||
.put(WidgetInfo.PYRAMID_PLUNDER_DATA, OverlayPosition.TOP_CENTER)
|
.put(WidgetInfo.PYRAMID_PLUNDER_DATA, OverlayPosition.TOP_CENTER)
|
||||||
.put(WidgetInfo.LMS_INFO, OverlayPosition.TOP_CENTER)
|
.put(WidgetInfo.LMS_INFO, OverlayPosition.TOP_RIGHT)
|
||||||
.put(WidgetInfo.LMS_KDA, OverlayPosition.TOP_CENTER)
|
.put(WidgetInfo.LMS_KDA, OverlayPosition.TOP_RIGHT)
|
||||||
.put(WidgetInfo.THEATRE_OF_BLOOD_HEALTH_ORBS, OverlayPosition.TOP_LEFT)
|
.put(WidgetInfo.THEATRE_OF_BLOOD_HEALTH_ORBS, OverlayPosition.TOP_LEFT)
|
||||||
.put(WidgetInfo.GAUNTLET_TIMER_CONTAINER, OverlayPosition.TOP_LEFT)
|
.put(WidgetInfo.GAUNTLET_TIMER_CONTAINER, OverlayPosition.TOP_LEFT)
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,6 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.ui.overlay.infobox;
|
package net.runelite.client.ui.overlay.infobox;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
|
||||||
import com.google.common.collect.ComparisonChain;
|
import com.google.common.collect.ComparisonChain;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
@@ -32,6 +31,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
@@ -67,7 +67,7 @@ public class InfoBoxManager
|
|||||||
|
|
||||||
public void addInfoBox(InfoBox infoBox)
|
public void addInfoBox(InfoBox infoBox)
|
||||||
{
|
{
|
||||||
Preconditions.checkNotNull(infoBox);
|
Objects.requireNonNull(infoBox);
|
||||||
log.debug("Adding InfoBox {}", infoBox);
|
log.debug("Adding InfoBox {}", infoBox);
|
||||||
|
|
||||||
updateInfoBoxImage(infoBox);
|
updateInfoBoxImage(infoBox);
|
||||||
|
|||||||
+26
@@ -24,14 +24,27 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.ui.overlay.tooltip;
|
package net.runelite.client.ui.overlay.tooltip;
|
||||||
|
|
||||||
|
import com.google.common.base.Strings;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import net.runelite.client.config.ConfigManager;
|
||||||
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
|
import net.runelite.client.events.ConfigChanged;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class TooltipManager
|
public class TooltipManager
|
||||||
{
|
{
|
||||||
|
private final ConfigManager configManager;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private TooltipManager(final ConfigManager configManager)
|
||||||
|
{
|
||||||
|
this.configManager = configManager;
|
||||||
|
}
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private final List<Tooltip> tooltips = new ArrayList<>();
|
private final List<Tooltip> tooltips = new ArrayList<>();
|
||||||
|
|
||||||
@@ -49,4 +62,17 @@ public class TooltipManager
|
|||||||
{
|
{
|
||||||
tooltips.clear();
|
tooltips.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onConfigChanged(final ConfigChanged event)
|
||||||
|
{
|
||||||
|
// Temporary fix for resetting repositioned tooltip overlay
|
||||||
|
// TODO: Remove this eventually
|
||||||
|
if (event.getGroup().equals("runelite") &&
|
||||||
|
event.getKey().equals("TooltipOverlay_preferredLocation") &&
|
||||||
|
!Strings.isNullOrEmpty(event.getNewValue()))
|
||||||
|
{
|
||||||
|
configManager.unsetConfiguration(event.getGroup(), event.getKey());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -66,7 +66,7 @@ public class WorldMapPoint
|
|||||||
|
|
||||||
private String tooltip;
|
private String tooltip;
|
||||||
|
|
||||||
protected WorldMapPoint(WorldPoint worldPoint, BufferedImage image)
|
public WorldMapPoint(WorldPoint worldPoint, BufferedImage image)
|
||||||
{
|
{
|
||||||
this.worldPoint = worldPoint;
|
this.worldPoint = worldPoint;
|
||||||
this.image = image;
|
this.image = image;
|
||||||
|
|||||||
@@ -83,6 +83,8 @@ public class WeaponMap
|
|||||||
StyleMap.put(ItemID.BLACK_SWORD, WeaponStyle.MELEE);
|
StyleMap.put(ItemID.BLACK_SWORD, WeaponStyle.MELEE);
|
||||||
StyleMap.put(ItemID.BLACK_WARHAMMER, WeaponStyle.MELEE);
|
StyleMap.put(ItemID.BLACK_WARHAMMER, WeaponStyle.MELEE);
|
||||||
StyleMap.put(ItemID.BLADE_OF_SAELDOR, WeaponStyle.MELEE);
|
StyleMap.put(ItemID.BLADE_OF_SAELDOR, WeaponStyle.MELEE);
|
||||||
|
StyleMap.put(ItemID.BLADE_OF_SAELDOR_I, WeaponStyle.MELEE);
|
||||||
|
StyleMap.put(ItemID.BLADE_OF_SAELDOR_INACTIVE, WeaponStyle.MELEE);
|
||||||
StyleMap.put(ItemID.BLESSED_AXE, WeaponStyle.MELEE);
|
StyleMap.put(ItemID.BLESSED_AXE, WeaponStyle.MELEE);
|
||||||
StyleMap.put(ItemID.BLUE_FLOWERS, WeaponStyle.MELEE);
|
StyleMap.put(ItemID.BLUE_FLOWERS, WeaponStyle.MELEE);
|
||||||
StyleMap.put(ItemID.BLUE_FLOWERS_8936, WeaponStyle.MELEE);
|
StyleMap.put(ItemID.BLUE_FLOWERS_8936, WeaponStyle.MELEE);
|
||||||
@@ -452,7 +454,6 @@ public class WeaponMap
|
|||||||
StyleMap.put(ItemID.ZAMORAK_GODSWORD, WeaponStyle.MELEE);
|
StyleMap.put(ItemID.ZAMORAK_GODSWORD, WeaponStyle.MELEE);
|
||||||
StyleMap.put(ItemID.ZAMORAK_GODSWORD_OR, WeaponStyle.MELEE);
|
StyleMap.put(ItemID.ZAMORAK_GODSWORD_OR, WeaponStyle.MELEE);
|
||||||
StyleMap.put(ItemID.ZOMBIE_HEAD, WeaponStyle.MELEE);
|
StyleMap.put(ItemID.ZOMBIE_HEAD, WeaponStyle.MELEE);
|
||||||
|
|
||||||
|
|
||||||
//Ranged
|
//Ranged
|
||||||
StyleMap.put(ItemID._3RD_AGE_BOW, WeaponStyle.RANGE);
|
StyleMap.put(ItemID._3RD_AGE_BOW, WeaponStyle.RANGE);
|
||||||
|
|||||||
@@ -34,23 +34,23 @@ public class WildcardMatcher
|
|||||||
public static boolean matches(String pattern, String text)
|
public static boolean matches(String pattern, String text)
|
||||||
{
|
{
|
||||||
final Matcher matcher = WILDCARD_PATTERN.matcher(pattern);
|
final Matcher matcher = WILDCARD_PATTERN.matcher(pattern);
|
||||||
final StringBuffer buffer = new StringBuffer();
|
final StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
buffer.append("(?i)");
|
sb.append("(?i)");
|
||||||
while (matcher.find())
|
while (matcher.find())
|
||||||
{
|
{
|
||||||
if (matcher.group(1) != null)
|
if (matcher.group(1) != null)
|
||||||
{
|
{
|
||||||
matcher.appendReplacement(buffer, ".*");
|
matcher.appendReplacement(sb, ".*");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
matcher.appendReplacement(buffer, "\\\\Q" + matcher.group(0) + "\\\\E");
|
matcher.appendReplacement(sb, "\\\\Q" + matcher.group(0) + "\\\\E");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
matcher.appendTail(buffer);
|
matcher.appendTail(sb);
|
||||||
final String replaced = buffer.toString();
|
final String replaced = sb.toString();
|
||||||
|
|
||||||
return text.matches(replaced);
|
return text.matches(replaced);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2352,7 +2352,8 @@
|
|||||||
],
|
],
|
||||||
"cake": [
|
"cake": [
|
||||||
1891,
|
1891,
|
||||||
1893
|
1893,
|
||||||
|
24549
|
||||||
],
|
],
|
||||||
"chocolate cake": [
|
"chocolate cake": [
|
||||||
1897,
|
1897,
|
||||||
@@ -6929,11 +6930,11 @@
|
|||||||
10364,
|
10364,
|
||||||
10736
|
10736
|
||||||
],
|
],
|
||||||
"zamorak dhide": [
|
"zamorak dhide body": [
|
||||||
10370,
|
10370,
|
||||||
10790
|
10790
|
||||||
],
|
],
|
||||||
"saradomin dhide": [
|
"saradomin dhide body": [
|
||||||
10386,
|
10386,
|
||||||
10792
|
10792
|
||||||
],
|
],
|
||||||
@@ -9584,7 +9585,9 @@
|
|||||||
],
|
],
|
||||||
"blade of saeldor": [
|
"blade of saeldor": [
|
||||||
23995,
|
23995,
|
||||||
23997
|
23997,
|
||||||
|
24551,
|
||||||
|
24553
|
||||||
],
|
],
|
||||||
"elven top": [
|
"elven top": [
|
||||||
24009,
|
24009,
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -40,6 +40,7 @@ import java.io.IOException;
|
|||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.lang.invoke.MethodHandles;
|
import java.lang.invoke.MethodHandles;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -150,7 +151,7 @@ public class PluginManagerTest
|
|||||||
modules.addAll(pluginManager.getPlugins());
|
modules.addAll(pluginManager.getPlugins());
|
||||||
|
|
||||||
File file = folder.newFile();
|
File file = folder.newFile();
|
||||||
try (PrintWriter out = new PrintWriter(file, "UTF-8"))
|
try (PrintWriter out = new PrintWriter(file, StandardCharsets.UTF_8))
|
||||||
{
|
{
|
||||||
Injector injector = Guice.createInjector(modules);
|
Injector injector = Guice.createInjector(modules);
|
||||||
GraphvizGrapher grapher = injector.getInstance(GraphvizGrapher.class);
|
GraphvizGrapher grapher = injector.getInstance(GraphvizGrapher.class);
|
||||||
|
|||||||
@@ -24,11 +24,11 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.rs;
|
package net.runelite.client.rs;
|
||||||
|
|
||||||
import com.google.common.base.Charsets;
|
|
||||||
import com.google.common.io.CharStreams;
|
import com.google.common.io.CharStreams;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import okhttp3.mockwebserver.MockResponse;
|
import okhttp3.mockwebserver.MockResponse;
|
||||||
import okhttp3.mockwebserver.MockWebServer;
|
import okhttp3.mockwebserver.MockWebServer;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
@@ -47,7 +47,7 @@ public class ClientConfigLoaderTest
|
|||||||
try (InputStream in = getClass().getResourceAsStream("jav_config.ws"))
|
try (InputStream in = getClass().getResourceAsStream("jav_config.ws"))
|
||||||
{
|
{
|
||||||
response = CharStreams.toString(new InputStreamReader(
|
response = CharStreams.toString(new InputStreamReader(
|
||||||
in, Charsets.UTF_8));
|
in, StandardCharsets.UTF_8));
|
||||||
}
|
}
|
||||||
server.enqueue(new MockResponse().setBody(response));
|
server.enqueue(new MockResponse().setBody(response));
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.util;
|
package net.runelite.client.util;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -43,9 +42,9 @@ import static org.mockito.Mockito.when;
|
|||||||
|
|
||||||
public class ItemUtilTest
|
public class ItemUtilTest
|
||||||
{
|
{
|
||||||
private static final Set<Integer> SOME_IDS = ImmutableSet.of(ItemID.MITHRIL_BAR, ItemID.DRAGON_BONES);
|
private static final Set<Integer> SOME_IDS = Set.of(ItemID.MITHRIL_BAR, ItemID.DRAGON_BONES);
|
||||||
private static final Set<Integer> WRONG_IDS = ImmutableSet.of(ItemID.SCYTHE_OF_VITUR, ItemID.TWISTED_BOW);
|
private static final Set<Integer> WRONG_IDS = Set.of(ItemID.SCYTHE_OF_VITUR, ItemID.TWISTED_BOW);
|
||||||
private static final Set<Integer> MIX_IDS = ImmutableSet.of(
|
private static final Set<Integer> MIX_IDS = Set.of(
|
||||||
ItemID.MITHRIL_BAR, ItemID.DRAGON_BONES,
|
ItemID.MITHRIL_BAR, ItemID.DRAGON_BONES,
|
||||||
ItemID.SCYTHE_OF_VITUR, ItemID.TWISTED_BOW
|
ItemID.SCYTHE_OF_VITUR, ItemID.TWISTED_BOW
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -26,9 +26,9 @@
|
|||||||
description = "RuneLite Mixins"
|
description = "RuneLite Mixins"
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly(Libraries.guava)
|
compileOnly(group = "com.google.guava", name = "guava", version = "28.2-jre")
|
||||||
compileOnly(Libraries.javaxInject)
|
compileOnly(group = "javax.inject", name = "javax.inject", version = "1")
|
||||||
compileOnly(Libraries.slf4jApi)
|
compileOnly(group = "org.slf4j", name = "slf4j-api", version = "1.7.30")
|
||||||
compileOnly(project(":injection-annotations"))
|
compileOnly(project(":injection-annotations"))
|
||||||
compileOnly(project(":runescape-api"))
|
compileOnly(project(":runescape-api"))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -178,6 +178,12 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
@Inject
|
@Inject
|
||||||
private static RSTileItem lastItemDespawn;
|
private static RSTileItem lastItemDespawn;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private static boolean invertPitch;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private static boolean invertYaw;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private boolean gpu;
|
private boolean gpu;
|
||||||
|
|
||||||
@@ -1087,16 +1093,21 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
@Inject
|
@Inject
|
||||||
public static void boostedSkillLevelsChanged(int idx)
|
public static void boostedSkillLevelsChanged(int idx)
|
||||||
{
|
{
|
||||||
Skill[] skills = Skill.values();
|
if (idx == 0)
|
||||||
|
{
|
||||||
if (idx >= 0 && idx < skills.length - 1)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int changedSkillIdx = idx - 1 & 31;
|
||||||
|
int skillIdx = client.getChangedSkillLevels()[changedSkillIdx];
|
||||||
|
Skill[] skills = Skill.values();
|
||||||
|
if (skillIdx >= 0 && skillIdx < skills.length - 1)
|
||||||
{
|
{
|
||||||
Skill updatedSkill = skills[idx];
|
|
||||||
StatChanged statChanged = new StatChanged(
|
StatChanged statChanged = new StatChanged(
|
||||||
updatedSkill,
|
skills[skillIdx],
|
||||||
client.getSkillExperience(updatedSkill),
|
client.getSkillExperiences()[skillIdx],
|
||||||
client.getRealSkillLevel(updatedSkill),
|
client.getRealSkillLevels()[skillIdx],
|
||||||
client.getBoostedSkillLevel(updatedSkill)
|
client.getBoostedSkillLevels()[skillIdx]
|
||||||
);
|
);
|
||||||
client.getCallbacks().post(StatChanged.class, statChanged);
|
client.getCallbacks().post(StatChanged.class, statChanged);
|
||||||
}
|
}
|
||||||
@@ -1885,4 +1896,39 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
|
|
||||||
return widgetClickMask;
|
return widgetClickMask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
@FieldHook("camAngleDX")
|
||||||
|
private static void onCamAngleDXChange(int index)
|
||||||
|
{
|
||||||
|
if (invertPitch && client.getMouseCurrentButton() == 4 && client.isMouseCam())
|
||||||
|
{
|
||||||
|
client.setCamAngleDX(-client.getCamAngleDX());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
@FieldHook("camAngleDY")
|
||||||
|
private static void onCamAngleDYChange(int index)
|
||||||
|
{
|
||||||
|
if (invertYaw && client.getMouseCurrentButton() == 4 && client.isMouseCam())
|
||||||
|
{
|
||||||
|
client.setCamAngleDY(-client.getCamAngleDY());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
@Override
|
||||||
|
public void setInvertPitch(boolean state)
|
||||||
|
{
|
||||||
|
invertPitch = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
@Override
|
||||||
|
public void setInvertYaw(boolean state)
|
||||||
|
{
|
||||||
|
invertYaw = state;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,13 +26,13 @@
|
|||||||
description = "Script Assembler Plugin"
|
description = "Script Assembler Plugin"
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
annotationProcessor(Libraries.sisu)
|
annotationProcessor(group = "org.eclipse.sisu", name = "org.eclipse.sisu.inject", version = "0.3.4")
|
||||||
|
|
||||||
compileOnly(Libraries.mavenPluginAnnotations)
|
compileOnly(group = "org.apache.maven.plugin-tools", name = "maven-plugin-annotations", version = "3.6.0")
|
||||||
|
|
||||||
implementation(Libraries.guava)
|
implementation(group = "com.google.guava", name = "guava", version = "28.2-jre")
|
||||||
implementation(Libraries.mavenPluginApi)
|
implementation(group = "org.apache.maven", name = "maven-plugin-api", version = "3.6.3")
|
||||||
implementation(Libraries.slf4jNop)
|
implementation(group = "org.slf4j", name = "slf4j-nop", version = "1.7.30")
|
||||||
implementation(project(":cache"))
|
implementation(project(":cache"))
|
||||||
implementation(project(":runelite-api"))
|
implementation(project(":runelite-api"))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSAbstractByteArrayCopier {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSAbstractSocket {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSAbstractSound {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSAbstractUserComparator {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSAbstractWorldMapData {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSAbstractWorldMapIcon {}
|
||||||
+3
-3
@@ -3,14 +3,14 @@ package net.runelite.rs.api;
|
|||||||
import java.io.RandomAccessFile;
|
import java.io.RandomAccessFile;
|
||||||
import net.runelite.mapping.Import;
|
import net.runelite.mapping.Import;
|
||||||
|
|
||||||
public interface RSFileOnDisk
|
public interface RSAccessFile
|
||||||
{
|
{
|
||||||
@Import("file")
|
@Import("file")
|
||||||
RandomAccessFile getFile();
|
RandomAccessFile getFile();
|
||||||
|
|
||||||
@Import("index")
|
@Import("offset")
|
||||||
long getPosition();
|
long getPosition();
|
||||||
|
|
||||||
@Import("capacity")
|
@Import("maxSize")
|
||||||
long getLength();
|
long getLength();
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSApproximateRouteStrategy {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSArchiveDisk {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSArchiveDiskAction {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSArchiveDiskActionHandler {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSArchiveLoader {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSAttackOption {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSAudioFilter {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSBZip2Decompressor {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSBZip2State {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSBounds {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSBuddyRankComparator {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSBufferedFile {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSBufferedNetSocket {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSBufferedSink {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSBufferedSource {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSByteArrayNode {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSByteArrayPool {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSCalendar {}
|
||||||
@@ -381,6 +381,21 @@ public interface RSClient extends RSGameShell, Client
|
|||||||
@Override
|
@Override
|
||||||
int[] getWidgetPositionsY();
|
int[] getWidgetPositionsY();
|
||||||
|
|
||||||
|
@Import("mouseCam")
|
||||||
|
boolean isMouseCam();
|
||||||
|
|
||||||
|
@Import("camAngleDX")
|
||||||
|
int getCamAngleDX();
|
||||||
|
|
||||||
|
@Import("camAngleDX")
|
||||||
|
void setCamAngleDX(int angle);
|
||||||
|
|
||||||
|
@Import("camAngleDY")
|
||||||
|
int getCamAngleDY();
|
||||||
|
|
||||||
|
@Import("camAngleDY")
|
||||||
|
void setCamAngleDY(int angle);
|
||||||
|
|
||||||
@Import("itemContainers")
|
@Import("itemContainers")
|
||||||
RSNodeHashTable getItemContainers();
|
RSNodeHashTable getItemContainers();
|
||||||
|
|
||||||
@@ -1164,4 +1179,70 @@ public interface RSClient extends RSGameShell, Client
|
|||||||
|
|
||||||
@Import("draggedWidgetY")
|
@Import("draggedWidgetY")
|
||||||
int getDraggedWidgetY();
|
int getDraggedWidgetY();
|
||||||
|
|
||||||
|
@Import("changedSkills")
|
||||||
|
int[] getChangedSkillLevels();
|
||||||
|
|
||||||
|
@Import("MouseHandler_lastPressedTimeMillis")
|
||||||
|
@Override
|
||||||
|
void setMouseLastPressedMillis(long time);
|
||||||
|
|
||||||
|
@Import("mouseLastLastPressedTimeMillis")
|
||||||
|
@Override
|
||||||
|
long getClientMouseLastPressedMillis();
|
||||||
|
|
||||||
|
@Import("mouseLastLastPressedTimeMillis")
|
||||||
|
@Override
|
||||||
|
void setClientMouseLastPressedMillis(long time);
|
||||||
|
|
||||||
|
@Import("rootWidgetCount")
|
||||||
|
int getRootWidgetCount();
|
||||||
|
|
||||||
|
@Import("widgetClickX")
|
||||||
|
int getWidgetClickX();
|
||||||
|
|
||||||
|
@Import("widgetClickY")
|
||||||
|
int getWidgetClickY();
|
||||||
|
|
||||||
|
@Import("staffModLevel")
|
||||||
|
int getStaffModLevel();
|
||||||
|
|
||||||
|
@Import("tradeChatMode")
|
||||||
|
int getTradeChatMode();
|
||||||
|
|
||||||
|
@Import("publicChatMode")
|
||||||
|
int getPublicChatMode();
|
||||||
|
|
||||||
|
@Import("clientType")
|
||||||
|
int getClientType();
|
||||||
|
|
||||||
|
@Import("onMobile")
|
||||||
|
boolean isOnMobile();
|
||||||
|
|
||||||
|
@Import("hadFocus")
|
||||||
|
boolean hadFocus();
|
||||||
|
|
||||||
|
@Import("mouseCrossColor")
|
||||||
|
int getMouseCrossColor();
|
||||||
|
|
||||||
|
@Import("mouseCrossColor")
|
||||||
|
void setMouseCrossColor(int color);
|
||||||
|
|
||||||
|
@Import("leftClickOpensMenu")
|
||||||
|
int getLeftClickOpensMenu();
|
||||||
|
|
||||||
|
@Import("showMouseOverText")
|
||||||
|
boolean getShowMouseOverText();
|
||||||
|
|
||||||
|
@Import("showMouseOverText")
|
||||||
|
void setShowMouseOverText(boolean showMouseOverText);
|
||||||
|
|
||||||
|
@Import("defaultRotations")
|
||||||
|
int[] getDefaultRotations();
|
||||||
|
|
||||||
|
@Import("showLoadingMessages")
|
||||||
|
boolean getShowLoadingMessages();
|
||||||
|
|
||||||
|
@Import("showLoadingMessages")
|
||||||
|
void setShowLoadingMessages(boolean showLoadingMessages);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSClientPacket {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSClock {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSCoord {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSDefaultsGroup {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSDemotingHashTable {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSDesktopPlatformInfoProvider {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSDevicePcmPlayer {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSDevicePcmPlayerProvider {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSDirectByteArrayCopier {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSDirectWrapper {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSDualNodeDeque {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSEnumerated {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSFaceNormal {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSFileSystem {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSFloorOverlayDefinition {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSFloorUnderlayDefinition {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSFontName {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSFonts {}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
public interface RSFriendLoginUpdate {}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user