Merge branch 'master' of https://github.com/runelite-extended/runelite
This commit is contained in:
12
README.md
12
README.md
@@ -22,21 +22,21 @@
|
||||
- [runescape-api](runescape-api/src/main/java/net/runelite) - Mappings correspond to these interfaces, runelite-api is a subset of this
|
||||
- [runelite-client](runelite-client/src/main/java/net/runelite/client) - Game client with plugins
|
||||
|
||||
## Building
|
||||
We have migrated the project to Gradle. Information on how to setup and build the project can be found at https://github.com/runelite-extended/runelite/wiki/Building-with-IntelliJ-IDEA
|
||||
|
||||
## Private Servers
|
||||
Currently we support RSMod which can be found at: https://github.com/Tomm0017/rsmod but should work with any server that follows osrs protocol.
|
||||
```
|
||||
Jar/IntelliJ
|
||||
Use -private-server arg.
|
||||
Use -rs=RSPS arg.
|
||||
|
||||
Exe
|
||||
Use --clientargs="--private-server" arg.
|
||||
|
||||
Using modified mixins is possible using -local-injected arg, but it looks in a very specific location.
|
||||
(./injected-client/target/injected-client-X.X.XX-SNAPSHOT.jar) (X.X.XX must match current API version)
|
||||
Use --clientargs="--rs=RSPS" arg.
|
||||
|
||||
-----
|
||||
|
||||
Set codebase in ./codebase or in Private Server plugin and restart.
|
||||
Codebase is set to 127.0.0.1 by default and can be changed in the Private Server plugin (requires restart)
|
||||
Update modulus in Private Server plugin.
|
||||
|
||||
Disable Default World plugin if you have it enabled, this causes issues with codebase.
|
||||
|
||||
@@ -27,6 +27,9 @@ allprojects {
|
||||
apply plugin: 'maven'
|
||||
apply plugin: 'checkstyle'
|
||||
|
||||
group = 'net.runelite'
|
||||
version = '1.5.30-SNAPSHOT'
|
||||
|
||||
ext {
|
||||
rsversion = 181
|
||||
cacheversion = 165
|
||||
@@ -36,12 +39,9 @@ allprojects {
|
||||
gitDirty = localGitDirty
|
||||
|
||||
rootPath = rootDir.toString().replace('\\', '/')
|
||||
injectedClassesPath = rootPath + "/injector-plugin/out/injected-client/"
|
||||
injectedClassesPath = rootPath + "/injected-client/build/libs/injected-client-" + version + ".jar"
|
||||
}
|
||||
|
||||
group = 'net.runelite'
|
||||
version = '1.5.30-SNAPSHOT'
|
||||
|
||||
gradle.projectsEvaluated {
|
||||
tasks.withType(JavaCompile) {
|
||||
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import org.apache.tools.ant.filters.ReplaceTokens
|
||||
description = 'Web API'
|
||||
dependencies {
|
||||
implementation project(':runelite-api')
|
||||
implementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.0.1'
|
||||
implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
|
||||
implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.26'
|
||||
|
||||
@@ -34,6 +34,7 @@ import net.runelite.http.api.ws.messages.Handshake;
|
||||
import net.runelite.http.api.ws.messages.LoginResponse;
|
||||
import net.runelite.http.api.ws.messages.party.Join;
|
||||
import net.runelite.http.api.ws.messages.party.Part;
|
||||
import net.runelite.http.api.ws.messages.party.PartyChatMessage;
|
||||
import net.runelite.http.api.ws.messages.party.UserJoin;
|
||||
import net.runelite.http.api.ws.messages.party.UserPart;
|
||||
import net.runelite.http.api.ws.messages.party.UserSync;
|
||||
@@ -52,6 +53,7 @@ public class WebsocketGsonFactory
|
||||
messages.add(UserJoin.class);
|
||||
messages.add(UserPart.class);
|
||||
messages.add(UserSync.class);
|
||||
messages.add(PartyChatMessage.class);
|
||||
MESSAGES = messages;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,9 @@
|
||||
*/
|
||||
package net.runelite.http.api.ws;
|
||||
|
||||
public class WebsocketMessage
|
||||
import net.runelite.api.events.Event;
|
||||
|
||||
public class WebsocketMessage implements Event
|
||||
{
|
||||
protected boolean _party;
|
||||
|
||||
|
||||
@@ -24,13 +24,14 @@
|
||||
*/
|
||||
package net.runelite.http.api.ws.messages;
|
||||
|
||||
import net.runelite.api.events.Event;
|
||||
import net.runelite.http.api.ws.WebsocketMessage;
|
||||
|
||||
/**
|
||||
* Called after a successful login to the server
|
||||
* @author Adam
|
||||
*/
|
||||
public class LoginResponse extends WebsocketMessage
|
||||
public class LoginResponse extends WebsocketMessage implements Event
|
||||
{
|
||||
private String username;
|
||||
|
||||
|
||||
@@ -27,11 +27,12 @@ package net.runelite.http.api.ws.messages.party;
|
||||
import java.util.UUID;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Value;
|
||||
import net.runelite.api.events.Event;
|
||||
import net.runelite.http.api.ws.WebsocketMessage;
|
||||
|
||||
@Value
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class Join extends WebsocketMessage
|
||||
public class Join extends WebsocketMessage implements Event
|
||||
{
|
||||
private final UUID partyId;
|
||||
private final String name;
|
||||
|
||||
@@ -24,8 +24,9 @@
|
||||
*/
|
||||
package net.runelite.http.api.ws.messages.party;
|
||||
|
||||
import net.runelite.api.events.Event;
|
||||
import net.runelite.http.api.ws.WebsocketMessage;
|
||||
|
||||
public class Part extends WebsocketMessage
|
||||
public class Part extends WebsocketMessage implements Event
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2016-2017, Adam <Adam@sigterm.info>
|
||||
* Copyright (c) 2019, Tomas Slusny <slusnucky@gmail.com>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -22,17 +22,12 @@
|
||||
* (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;
|
||||
package net.runelite.http.api.ws.messages.party;
|
||||
|
||||
import com.google.inject.Guice;
|
||||
import net.runelite.client.rs.ClientUpdateCheckMode;
|
||||
import org.junit.Test;
|
||||
|
||||
public class RuneLiteModuleTest
|
||||
import lombok.Value;
|
||||
import net.runelite.api.events.Event;
|
||||
@Value
|
||||
public class PartyChatMessage extends PartyMemberMessage implements Event
|
||||
{
|
||||
@Test
|
||||
public void testConfigure()
|
||||
{
|
||||
Guice.createInjector(new RuneLiteModule(ClientUpdateCheckMode.AUTO, true));
|
||||
}
|
||||
private final String value;
|
||||
}
|
||||
@@ -3,10 +3,11 @@ package net.runelite.http.api.ws.messages.party;
|
||||
import java.util.UUID;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.runelite.api.events.Event;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public abstract class PartyMemberMessage extends PartyMessage
|
||||
public abstract class PartyMemberMessage extends PartyMessage implements Event
|
||||
{
|
||||
private UUID memberId;
|
||||
}
|
||||
|
||||
@@ -24,9 +24,10 @@
|
||||
*/
|
||||
package net.runelite.http.api.ws.messages.party;
|
||||
|
||||
import net.runelite.api.events.Event;
|
||||
import net.runelite.http.api.ws.WebsocketMessage;
|
||||
|
||||
public abstract class PartyMessage extends WebsocketMessage
|
||||
public abstract class PartyMessage extends WebsocketMessage implements Event
|
||||
{
|
||||
public PartyMessage()
|
||||
{
|
||||
|
||||
@@ -27,11 +27,12 @@ package net.runelite.http.api.ws.messages.party;
|
||||
import java.util.UUID;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Value;
|
||||
import net.runelite.api.events.Event;
|
||||
import net.runelite.http.api.ws.WebsocketMessage;
|
||||
|
||||
@Value
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class UserJoin extends WebsocketMessage
|
||||
public class UserJoin extends WebsocketMessage implements Event
|
||||
{
|
||||
private final UUID memberId;
|
||||
private final UUID partyId;
|
||||
|
||||
@@ -27,11 +27,12 @@ package net.runelite.http.api.ws.messages.party;
|
||||
import java.util.UUID;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Value;
|
||||
import net.runelite.api.events.Event;
|
||||
import net.runelite.http.api.ws.WebsocketMessage;
|
||||
|
||||
@Value
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class UserPart extends WebsocketMessage
|
||||
public class UserPart extends WebsocketMessage implements Event
|
||||
{
|
||||
private final UUID memberId;
|
||||
}
|
||||
|
||||
@@ -26,9 +26,10 @@ package net.runelite.http.api.ws.messages.party;
|
||||
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Value;
|
||||
import net.runelite.api.events.Event;
|
||||
|
||||
@Value
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class UserSync extends PartyMemberMessage
|
||||
public class UserSync extends PartyMemberMessage implements Event
|
||||
{
|
||||
}
|
||||
|
||||
@@ -24,28 +24,8 @@
|
||||
*/
|
||||
description = 'Injected Client'
|
||||
|
||||
|
||||
|
||||
def injectedClassesPath = "${rootPath}/injector-plugin/out/injected-client/"
|
||||
|
||||
compileJava {
|
||||
dependsOn ':injector-plugin:assemble'
|
||||
}
|
||||
|
||||
compileJava.outputs.upToDateWhen { false }
|
||||
|
||||
compileJava.doLast() {
|
||||
copy {
|
||||
File f = file("build/classes/java/main/injected-client")
|
||||
f.deleteDir()
|
||||
f.mkdirs()
|
||||
from ("${injectedClassesPath}")
|
||||
into ("build/classes/java/main/injected-client")
|
||||
}
|
||||
}
|
||||
|
||||
classes.doLast() {
|
||||
File f = file("build/classes/java/main/Placeholder.class")
|
||||
f.delete()
|
||||
task injector(){
|
||||
// I kinda want to make the entire injector work here but seems like more work
|
||||
dependsOn ':injector-plugin:compileJava'
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ group = 'net.runelite.rs'
|
||||
description = 'Injector'
|
||||
|
||||
def buildPath = buildDir.toString().replace('\\', '/') // this doesnt work in an ext block for some reason
|
||||
|
||||
def deobfuscatedJar = "${rootPath}/runescape-client/build/libs/rs-client-${project.version}.jar"
|
||||
def vanillaJar = "${buildPath}/vanilla-${rsversion}.jar"
|
||||
|
||||
@@ -39,7 +38,7 @@ compileJava.doLast() {
|
||||
into "$buildDir"
|
||||
}
|
||||
def path = sourceSets.main.runtimeClasspath
|
||||
def loader = new URLClassLoader(path.collect { f -> f.toURL() } as URL[])
|
||||
def loader = new URLClassLoader(path.collect { f -> f.toURI().toURL() } as URL[])
|
||||
def inject = loader.loadClass('net.runelite.injector.Injector')
|
||||
String[] jarPaths = [
|
||||
deobfuscatedJar.toString(),
|
||||
@@ -47,6 +46,7 @@ compileJava.doLast() {
|
||||
injectedClassesPath.toString()
|
||||
]
|
||||
inject.main(jarPaths)
|
||||
loader.close()
|
||||
}
|
||||
|
||||
test {
|
||||
|
||||
@@ -26,9 +26,6 @@ package net.runelite.injector;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.google.common.io.Files;
|
||||
import net.runelite.asm.ClassFile;
|
||||
import net.runelite.asm.ClassGroup;
|
||||
import net.runelite.deob.util.JarUtil;
|
||||
|
||||
@@ -72,13 +69,7 @@ public class Injector
|
||||
|
||||
private void save(File out) throws IOException
|
||||
{
|
||||
out.mkdirs();
|
||||
for (ClassFile cf : vanilla.getClasses())
|
||||
{
|
||||
File f = new File(out, cf.getClassName() + ".class");
|
||||
byte[] data = JarUtil.writeClass(vanilla, cf);
|
||||
Files.write(data, f);
|
||||
}
|
||||
JarUtil.saveJar(vanilla, out);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
@@ -120,8 +120,8 @@ public enum Quest
|
||||
MONKEY_MADNESS_II(396, "Monkey Madness II", Varbits.QUEST_MONKEY_MADNESS_II),
|
||||
MONKS_FRIEND(397, "Monk's Friend", VarPlayer.QUEST_MONKS_FRIEND),
|
||||
MOUNTAIN_DAUGHTER(398, "Mountain Daughter", Varbits.QUEST_MOUNTAIN_DAUGHTER),
|
||||
MOURNINGS_ENDS_PART_I(399, "Mourning's Ends Part I", VarPlayer.QUEST_MOURNINGS_ENDS_PART_I),
|
||||
MOURNINGS_ENDS_PART_II(400, "Mourning's Ends Part II", Varbits.QUEST_MOURNINGS_ENDS_PART_II),
|
||||
MOURNINGS_END_PART_I(399, "Mourning's End Part I", VarPlayer.QUEST_MOURNINGS_END_PART_I),
|
||||
MOURNINGS_END_PART_II(400, "Mourning's End Part II", Varbits.QUEST_MOURNINGS_END_PART_II),
|
||||
MURDER_MYSTERY(401, "Murder Mystery", VarPlayer.QUEST_MURDER_MYSTERY),
|
||||
MY_ARMS_BIG_ADVENTURE(402, "My Arm's Big Adventure", Varbits.QUEST_MY_ARMS_BIG_ADVENTURE),
|
||||
NATURE_SPIRIT(403, "Nature Spirit", VarPlayer.QUEST_NATURE_SPIRIT),
|
||||
@@ -173,6 +173,7 @@ public enum Quest
|
||||
ZOGRE_FLESH_EATERS(449, "Zogre Flesh Eaters", Varbits.QUEST_ZOGRE_FLESH_EATERS),
|
||||
THE_ASCENT_OF_ARCEUUS(542, "The Ascent of Arceuus", Varbits.QUEST_THE_ASCENT_OF_ARCEUUS),
|
||||
THE_FORSAKEN_TOWER(543, "The Forsaken Tower", Varbits.QUEST_THE_FORSAKEN_TOWER),
|
||||
SONG_OF_THE_ELVES(603, "Song of the Elves", Varbits.QUEST_SONG_OF_THE_ELVES),
|
||||
|
||||
//Miniquests
|
||||
ENTER_THE_ABYSS(319, "Enter the Abyss", VarPlayer.QUEST_ENTER_THE_ABYSS),
|
||||
@@ -186,7 +187,8 @@ public enum Quest
|
||||
THE_MAGE_ARENA(327, "The Mage Arena", VarPlayer.QUEST_THE_MAGE_ARENA),
|
||||
LAIR_OF_TARN_RAZORLOR(328, "Lair of Tarn Razorlor", Varbits.QUEST_LAIR_OF_TARN_RAZORLOR),
|
||||
FAMILY_PEST(329, "Family Pest", Varbits.QUEST_FAMILY_PEST),
|
||||
THE_MAGE_ARENA_II(330, "The Mage Arena II", Varbits.QUEST_THE_MAGE_ARENA_II);
|
||||
THE_MAGE_ARENA_II(330, "The Mage Arena II", Varbits.QUEST_THE_MAGE_ARENA_II),
|
||||
IN_SEARCH_OF_KNOWLEDGE(602, "In Search of Knowledge", Varbits.QUEST_IN_SEARCH_OF_KNOWLEDGE);
|
||||
|
||||
@Getter
|
||||
private final int id;
|
||||
|
||||
@@ -220,7 +220,7 @@ public enum VarPlayer
|
||||
QUEST_MERLINS_CRYSTAL(14),
|
||||
QUEST_MONKEY_MADNESS_I(365),
|
||||
QUEST_MONKS_FRIEND(30),
|
||||
QUEST_MOURNINGS_ENDS_PART_I(517),
|
||||
QUEST_MOURNINGS_END_PART_I(517),
|
||||
QUEST_MURDER_MYSTERY(192),
|
||||
QUEST_NATURE_SPIRIT(307),
|
||||
QUEST_OBSERVATORY_QUEST(112),
|
||||
|
||||
@@ -595,7 +595,7 @@ public enum Varbits
|
||||
QUEST_LUNAR_DIPLOMACY(2448),
|
||||
QUEST_MAKING_HISTORY(1383),
|
||||
QUEST_MOUNTAIN_DAUGHTER(260),
|
||||
QUEST_MOURNINGS_ENDS_PART_II(1103),
|
||||
QUEST_MOURNINGS_END_PART_II(1103),
|
||||
QUEST_MY_ARMS_BIG_ADVENTURE(2790),
|
||||
QUEST_RATCATCHERS(1404),
|
||||
QUEST_RECIPE_FOR_DISASTER(1850),
|
||||
@@ -629,6 +629,8 @@ public enum Varbits
|
||||
QUEST_MAKING_FRIENDS_WITH_MY_ARM(6528),
|
||||
QUEST_THE_ASCENT_OF_ARCEUUS(7856),
|
||||
QUEST_THE_FORSAKEN_TOWER(7796),
|
||||
//TODO
|
||||
QUEST_SONG_OF_THE_ELVES(7796),
|
||||
|
||||
/**
|
||||
* mini-quest varbits, these don't hold the completion value.
|
||||
@@ -642,6 +644,8 @@ public enum Varbits
|
||||
QUEST_LAIR_OF_TARN_RAZORLOR(3290),
|
||||
QUEST_FAMILY_PEST(5347),
|
||||
QUEST_THE_MAGE_ARENA_II(6067),
|
||||
//TODO
|
||||
QUEST_IN_SEARCH_OF_KNOWLEDGE(6067),
|
||||
|
||||
/**
|
||||
* Active spellbook (see enumID)
|
||||
|
||||
@@ -2,7 +2,6 @@ package net.runelite.api.events;
|
||||
|
||||
import net.runelite.api.Actor;
|
||||
import lombok.Data;
|
||||
import net.runelite.api.Actor;
|
||||
|
||||
/**
|
||||
* An event where the {@link Actor} has changed animations.
|
||||
@@ -18,7 +17,7 @@ import net.runelite.api.Actor;
|
||||
* @see net.runelite.api.AnimationID
|
||||
*/
|
||||
@Data
|
||||
public class AnimationChanged
|
||||
public class AnimationChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The actor that has entered a new animation.
|
||||
|
||||
@@ -27,7 +27,7 @@ package net.runelite.api.events;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AreaSoundEffectPlayed
|
||||
public class AreaSoundEffectPlayed implements Event
|
||||
{
|
||||
private int soundId;
|
||||
private int sceneX;
|
||||
|
||||
@@ -27,7 +27,7 @@ package net.runelite.api.events;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BeforeMenuRender
|
||||
public class BeforeMenuRender implements Event
|
||||
{
|
||||
private boolean consumed;
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ package net.runelite.api.events;
|
||||
/**
|
||||
* Posted at the start of every frame
|
||||
*/
|
||||
public class BeforeRender
|
||||
public class BeforeRender implements Event
|
||||
{
|
||||
public static final BeforeRender INSTANCE = new BeforeRender();
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ import lombok.Data;
|
||||
* retrieve the newly boosted skill level.
|
||||
*/
|
||||
@Data
|
||||
public class BoostedLevelChanged
|
||||
public class BoostedLevelChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The skill that has had its level modified.
|
||||
|
||||
@@ -27,7 +27,7 @@ package net.runelite.api.events;
|
||||
/**
|
||||
* an event posted when a cannonball is fired
|
||||
*/
|
||||
public class CannonballFired
|
||||
public class CannonballFired implements Event
|
||||
{
|
||||
public static final CannonballFired INSTANCE = new CannonballFired();
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ package net.runelite.api.events;
|
||||
/**
|
||||
* An event posted when the canvas size might have changed.
|
||||
*/
|
||||
public class CanvasSizeChanged
|
||||
public class CanvasSizeChanged implements Event
|
||||
{
|
||||
public static final CanvasSizeChanged INSTANCE = new CanvasSizeChanged();
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ import lombok.NoArgsConstructor;
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ChatMessage
|
||||
public class ChatMessage implements Event
|
||||
{
|
||||
/**
|
||||
* The underlying MessageNode for the message.
|
||||
|
||||
@@ -30,7 +30,7 @@ import lombok.Value;
|
||||
* An event where the client has joined or left a clan chat.
|
||||
*/
|
||||
@Value
|
||||
public class ClanChanged
|
||||
public class ClanChanged implements Event
|
||||
{
|
||||
/**
|
||||
* Whether or not the client is now in a clan chat.
|
||||
|
||||
@@ -28,7 +28,7 @@ import net.runelite.api.ClanMember;
|
||||
import lombok.Value;
|
||||
|
||||
@Value
|
||||
public class ClanMemberJoined
|
||||
public class ClanMemberJoined implements Event
|
||||
{
|
||||
/**
|
||||
* The ClanMember that joined
|
||||
|
||||
@@ -28,7 +28,7 @@ import net.runelite.api.ClanMember;
|
||||
import lombok.Value;
|
||||
|
||||
@Value
|
||||
public class ClanMemberLeft
|
||||
public class ClanMemberLeft implements Event
|
||||
{
|
||||
/**
|
||||
* The ClanMember that left
|
||||
|
||||
@@ -27,7 +27,7 @@ package net.runelite.api.events;
|
||||
/**
|
||||
* Posted every client tick
|
||||
*/
|
||||
public class ClientTick
|
||||
public class ClientTick implements Event
|
||||
{
|
||||
public static final ClientTick INSTANCE = new ClientTick();
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ import lombok.Value;
|
||||
* will set command to "" and arguments to ["hello", "world!"].
|
||||
*/
|
||||
@Value
|
||||
public class CommandExecuted
|
||||
public class CommandExecuted implements Event
|
||||
{
|
||||
/**
|
||||
* The name of the command entered.
|
||||
|
||||
@@ -30,7 +30,7 @@ import lombok.Data;
|
||||
* An event where a configuration entry has been modified.
|
||||
*/
|
||||
@Data
|
||||
public class ConfigChanged
|
||||
public class ConfigChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The parent group for the key.
|
||||
|
||||
@@ -33,7 +33,7 @@ import lombok.Data;
|
||||
* has been modified.
|
||||
*/
|
||||
@Data
|
||||
public class DecorativeObjectChanged
|
||||
public class DecorativeObjectChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The affected tile.
|
||||
|
||||
@@ -33,7 +33,7 @@ import lombok.Data;
|
||||
* is removed.
|
||||
*/
|
||||
@Data
|
||||
public class DecorativeObjectDespawned
|
||||
public class DecorativeObjectDespawned implements Event
|
||||
{
|
||||
/**
|
||||
* The affected tile.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Data;
|
||||
* An event where a {@link DecorativeObject} is attached to a {@link Tile}.
|
||||
*/
|
||||
@Data
|
||||
public class DecorativeObjectSpawned
|
||||
public class DecorativeObjectSpawned implements Event
|
||||
{
|
||||
/**
|
||||
* The affected tile.
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Data;
|
||||
* the cursor.
|
||||
*/
|
||||
@Data
|
||||
public class DraggingWidgetChanged
|
||||
public class DraggingWidgetChanged implements Event
|
||||
{
|
||||
/**
|
||||
* Whether a widget is currently being dragged.
|
||||
|
||||
@@ -3,7 +3,7 @@ package net.runelite.api.events;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DynamicObjectAnimationChanged
|
||||
public class DynamicObjectAnimationChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The object that has entered a new animation.
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
package net.runelite.api.events;
|
||||
|
||||
public interface Event
|
||||
{
|
||||
}
|
||||
@@ -32,7 +32,7 @@ import lombok.Data;
|
||||
* An event where the experience level of a {@link Skill} has been modified.
|
||||
*/
|
||||
@Data
|
||||
public class ExperienceChanged
|
||||
public class ExperienceChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The modified skill.
|
||||
|
||||
@@ -37,7 +37,7 @@ import lombok.Data;
|
||||
* </ul>
|
||||
*/
|
||||
@Data
|
||||
public class FocusChanged
|
||||
public class FocusChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The new focus state.
|
||||
|
||||
@@ -6,7 +6,7 @@ import lombok.Value;
|
||||
* An event where a request to add a friend is sent to the server.
|
||||
*/
|
||||
@Value
|
||||
public class FriendAdded
|
||||
public class FriendAdded implements Event
|
||||
{
|
||||
/**
|
||||
* The name of the added friend.
|
||||
|
||||
@@ -30,7 +30,7 @@ import lombok.Value;
|
||||
* An event where a request to remove a friend is sent to the server.
|
||||
*/
|
||||
@Value
|
||||
public class FriendRemoved
|
||||
public class FriendRemoved implements Event
|
||||
{
|
||||
/**
|
||||
* The name of the removed friend.
|
||||
|
||||
@@ -32,7 +32,7 @@ import net.runelite.api.Tile;
|
||||
* An event where a {@link GameObject} on a {@link Tile} has been replaced.
|
||||
*/
|
||||
@Data
|
||||
public class GameObjectChanged
|
||||
public class GameObjectChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The affected tile.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Data;
|
||||
* An event where a {@link GameObject} on a {@link Tile} is removed.
|
||||
*/
|
||||
@Data
|
||||
public class GameObjectDespawned
|
||||
public class GameObjectDespawned implements Event
|
||||
{
|
||||
/**
|
||||
* The affected tile.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Data;
|
||||
* An event where a {@link GameObject} is added to a {@link Tile}.
|
||||
*/
|
||||
@Data
|
||||
public class GameObjectSpawned
|
||||
public class GameObjectSpawned implements Event
|
||||
{
|
||||
/**
|
||||
* The affected tile.
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Data;
|
||||
* An event where the clients game state has changed.
|
||||
*/
|
||||
@Data
|
||||
public class GameStateChanged
|
||||
public class GameStateChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The new game state.
|
||||
|
||||
@@ -41,7 +41,7 @@ package net.runelite.api.events;
|
||||
* Note that occurrences that take place purely on the client, such as right
|
||||
* click menus, are independent of the game tick.
|
||||
*/
|
||||
public class GameTick
|
||||
public class GameTick implements Event
|
||||
{
|
||||
public static final GameTick INSTANCE = new GameTick();
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ import lombok.Data;
|
||||
* can change into.
|
||||
*/
|
||||
@Data
|
||||
public class GrandExchangeOfferChanged
|
||||
public class GrandExchangeOfferChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The offer that has been modified.
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Value;
|
||||
* An event where a new {@link GraphicsObject} has been created.
|
||||
*/
|
||||
@Value
|
||||
public class GraphicsObjectCreated
|
||||
public class GraphicsObjectCreated implements Event
|
||||
{
|
||||
/**
|
||||
* The newly created graphics object.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Data;
|
||||
* An event where the {@link GroundObject} on a {@link Tile} has been changed.
|
||||
*/
|
||||
@Data
|
||||
public class GroundObjectChanged
|
||||
public class GroundObjectChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The affected tile.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Data;
|
||||
* An event where a {@link GroundObject} on a {@link Tile} has been removed.
|
||||
*/
|
||||
@Data
|
||||
public class GroundObjectDespawned
|
||||
public class GroundObjectDespawned implements Event
|
||||
{
|
||||
/**
|
||||
* The affected tile.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Data;
|
||||
* An event where a {@link GroundObject} is added to a {@link Tile}.
|
||||
*/
|
||||
@Data
|
||||
public class GroundObjectSpawned
|
||||
public class GroundObjectSpawned implements Event
|
||||
{
|
||||
/**
|
||||
* The affected tile.
|
||||
|
||||
@@ -36,7 +36,7 @@ import lombok.Data;
|
||||
* visible hitsplats.
|
||||
*/
|
||||
@Data
|
||||
public class HitsplatApplied
|
||||
public class HitsplatApplied implements Event
|
||||
{
|
||||
/**
|
||||
* The actor the hitsplat was applied to.
|
||||
|
||||
@@ -28,7 +28,7 @@ import net.runelite.api.Actor;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class InteractChanged
|
||||
public class InteractChanged implements Event
|
||||
{
|
||||
private Actor actor;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import lombok.Value;
|
||||
* An event called when the actor an actor is interacting with changes
|
||||
*/
|
||||
@Value
|
||||
public class InteractingChanged
|
||||
public class InteractingChanged implements Event
|
||||
{
|
||||
private final Actor source;
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ import lombok.Value;
|
||||
* </ul>
|
||||
*/
|
||||
@Value
|
||||
public class ItemContainerChanged
|
||||
public class ItemContainerChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The modified container's ID.
|
||||
|
||||
@@ -34,7 +34,7 @@ import lombok.Value;
|
||||
* all item piles are implicitly despawned, and despawn events will not be sent.
|
||||
*/
|
||||
@Value
|
||||
public class ItemDespawned
|
||||
public class ItemDespawned implements Event
|
||||
{
|
||||
private final Tile tile;
|
||||
private final TileItem item;
|
||||
|
||||
@@ -33,7 +33,7 @@ import lombok.Value;
|
||||
* Called when the quantity of an item pile changes.
|
||||
*/
|
||||
@Value
|
||||
public class ItemQuantityChanged
|
||||
public class ItemQuantityChanged implements Event
|
||||
{
|
||||
private final TileItem item;
|
||||
private final Tile tile;
|
||||
|
||||
@@ -34,7 +34,7 @@ import lombok.Value;
|
||||
* all item piles are implicitly reset and a new spawn event will be sent.
|
||||
*/
|
||||
@Value
|
||||
public class ItemSpawned
|
||||
public class ItemSpawned implements Event
|
||||
{
|
||||
private final Tile tile;
|
||||
private final TileItem item;
|
||||
|
||||
@@ -27,7 +27,7 @@ package net.runelite.api.events;
|
||||
/**
|
||||
* An event when the local player dies.
|
||||
*/
|
||||
public class LocalPlayerDeath
|
||||
public class LocalPlayerDeath implements Event
|
||||
{
|
||||
public static final LocalPlayerDeath INSTANCE = new LocalPlayerDeath();
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ import net.runelite.api.MenuEntry;
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
public class MenuEntryAdded
|
||||
public class MenuEntryAdded implements Event
|
||||
{
|
||||
/**
|
||||
* The MenuEntry object that was actually added
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Data;
|
||||
* An event where a menu has been opened.
|
||||
*/
|
||||
@Data
|
||||
public class MenuOpened
|
||||
public class MenuOpened implements Event
|
||||
{
|
||||
/**
|
||||
* The menu entries in the newly opened menu.
|
||||
|
||||
@@ -42,7 +42,7 @@ import net.runelite.api.MenuEntry;
|
||||
* it seems that this event still triggers with the "Cancel" action.
|
||||
*/
|
||||
@Data
|
||||
public class MenuOptionClicked
|
||||
public class MenuOptionClicked implements Event
|
||||
{
|
||||
public MenuOptionClicked(MenuEntry entry)
|
||||
{
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Data;
|
||||
* opened on left click.
|
||||
*/
|
||||
@Data
|
||||
public class MenuShouldLeftClick
|
||||
public class MenuShouldLeftClick implements Event
|
||||
{
|
||||
/**
|
||||
* If set to true, the menu will open on left click.
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Value;
|
||||
* An event where a {@link Nameable} has had their name changed.
|
||||
*/
|
||||
@Value
|
||||
public class NameableNameChanged
|
||||
public class NameableNameChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The nameable that changed names.
|
||||
|
||||
@@ -31,7 +31,7 @@ import net.runelite.api.NPCDefinition;
|
||||
* An event where an action of an {@link NPCDefinition} has changed.
|
||||
*/
|
||||
@Data
|
||||
public class NpcActionChanged
|
||||
public class NpcActionChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The NPC composition that has been changed.
|
||||
|
||||
@@ -31,7 +31,7 @@ import net.runelite.api.NPC;
|
||||
* Fires after the composition of an {@link NPC} changes.
|
||||
*/
|
||||
@Value
|
||||
public class NpcDefinitionChanged
|
||||
public class NpcDefinitionChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The NPC of which the composition changed.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Value;
|
||||
* An event where an {@link NPC} has despawned.
|
||||
*/
|
||||
@Value
|
||||
public class NpcDespawned
|
||||
public class NpcDespawned implements Event
|
||||
{
|
||||
/**
|
||||
* The despawned NPC.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Value;
|
||||
* An event where an {@link NPC} has spawned.
|
||||
*/
|
||||
@Value
|
||||
public class NpcSpawned
|
||||
public class NpcSpawned implements Event
|
||||
{
|
||||
/**
|
||||
* The spawned NPC.
|
||||
|
||||
@@ -4,7 +4,7 @@ import net.runelite.api.Actor;
|
||||
import lombok.Value;
|
||||
|
||||
@Value
|
||||
public class OverheadTextChanged
|
||||
public class OverheadTextChanged implements Event
|
||||
{
|
||||
private final Actor actor;
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ import lombok.Value;
|
||||
* Note: This event does not get called for the local player.
|
||||
*/
|
||||
@Value
|
||||
public class PlayerDespawned
|
||||
public class PlayerDespawned implements Event
|
||||
{
|
||||
/**
|
||||
* The despawned player.
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Data;
|
||||
* been clicked (ie. HiScore Lookup).
|
||||
*/
|
||||
@Data
|
||||
public class PlayerMenuOptionClicked
|
||||
public class PlayerMenuOptionClicked implements Event
|
||||
{
|
||||
/**
|
||||
* The menu option clicked.
|
||||
|
||||
@@ -27,7 +27,7 @@ package net.runelite.api.events;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class PlayerMenuOptionsChanged
|
||||
public class PlayerMenuOptionsChanged implements Event
|
||||
{
|
||||
/**
|
||||
* Index in playerOptions which changed.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Value;
|
||||
* An event where a {@link Player} has spawned.
|
||||
*/
|
||||
@Value
|
||||
public class PlayerSpawned
|
||||
public class PlayerSpawned implements Event
|
||||
{
|
||||
/**
|
||||
* The spawned player.
|
||||
|
||||
@@ -28,7 +28,7 @@ import net.runelite.api.HealthBar;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class PostHealthBar
|
||||
public class PostHealthBar implements Event
|
||||
{
|
||||
private HealthBar healthBar;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ import net.runelite.api.ItemDefinition;
|
||||
* its data is initialized.
|
||||
*/
|
||||
@Data
|
||||
public class PostItemDefinition
|
||||
public class PostItemDefinition implements Event
|
||||
{
|
||||
/**
|
||||
* The newly created item.
|
||||
|
||||
@@ -35,7 +35,7 @@ import lombok.Data;
|
||||
* once (ie. AoE from Lizardman Shaman).
|
||||
*/
|
||||
@Data
|
||||
public class ProjectileMoved
|
||||
public class ProjectileMoved implements Event
|
||||
{
|
||||
/**
|
||||
* The projectile being moved.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Data;
|
||||
* An event called whenever a {@link Projectile} has spawned.
|
||||
*/
|
||||
@Data
|
||||
public class ProjectileSpawned
|
||||
public class ProjectileSpawned implements Event
|
||||
{
|
||||
/**
|
||||
* The spawned projectile.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Data;
|
||||
* An event where the game has changed from fixed to resizable mode or vice versa.
|
||||
*/
|
||||
@Data
|
||||
public class ResizeableChanged
|
||||
public class ResizeableChanged implements Event
|
||||
{
|
||||
/**
|
||||
* Whether the game is in resizable mode.
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Data;
|
||||
* A callback from a runelite_callback opcode in a cs2
|
||||
*/
|
||||
@Data
|
||||
public class ScriptCallbackEvent
|
||||
public class ScriptCallbackEvent implements Event
|
||||
{
|
||||
/**
|
||||
* The script being called.
|
||||
|
||||
@@ -27,7 +27,7 @@ package net.runelite.api.events;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SoundEffectPlayed
|
||||
public class SoundEffectPlayed implements Event
|
||||
{
|
||||
private int soundId;
|
||||
private int delay;
|
||||
|
||||
@@ -19,7 +19,7 @@ import net.runelite.api.Actor;
|
||||
* @see net.runelite.api.GraphicID
|
||||
*/
|
||||
@Data
|
||||
public class SpotAnimationChanged
|
||||
public class SpotAnimationChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The actor that has had their graphic changed.
|
||||
|
||||
@@ -30,7 +30,7 @@ package net.runelite.api.events;
|
||||
* This event triggers for every character change to the username
|
||||
* in the login screen.
|
||||
*/
|
||||
public class UsernameChanged
|
||||
public class UsernameChanged implements Event
|
||||
{
|
||||
public static final UsernameChanged INSTANCE = new UsernameChanged();
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Value;
|
||||
* An event where a varbit integer has changed.
|
||||
*/
|
||||
@Value
|
||||
public class VarClientIntChanged
|
||||
public class VarClientIntChanged implements Event
|
||||
{
|
||||
private int index;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Value;
|
||||
* An event where a varbit string has changed.
|
||||
*/
|
||||
@Value
|
||||
public class VarClientStrChanged
|
||||
public class VarClientStrChanged implements Event
|
||||
{
|
||||
private int index;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Data;
|
||||
* An event when a varbit or varplayer has changed.
|
||||
*/
|
||||
@Data
|
||||
public class VarbitChanged
|
||||
public class VarbitChanged implements Event
|
||||
{
|
||||
/**
|
||||
* Index in the varp array that was changed.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Data;
|
||||
* An event where the {@link WallObject} of a {@link Tile} has been changed.
|
||||
*/
|
||||
@Data
|
||||
public class WallObjectChanged
|
||||
public class WallObjectChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The affected tile.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Data;
|
||||
* An event where a {@link WallObject} on a {@link Tile} has been removed.
|
||||
*/
|
||||
@Data
|
||||
public class WallObjectDespawned
|
||||
public class WallObjectDespawned implements Event
|
||||
{
|
||||
/**
|
||||
* The affected tile.
|
||||
|
||||
@@ -32,7 +32,7 @@ import lombok.Data;
|
||||
* An event where a {@link WallObject} is added to a {@link Tile}.
|
||||
*/
|
||||
@Data
|
||||
public class WallObjectSpawned
|
||||
public class WallObjectSpawned implements Event
|
||||
{
|
||||
/**
|
||||
* The affected tile.
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Data;
|
||||
* An event where the hidden state of a {@link Widget} has been modified.
|
||||
*/
|
||||
@Data
|
||||
public class WidgetHiddenChanged
|
||||
public class WidgetHiddenChanged implements Event
|
||||
{
|
||||
/**
|
||||
* The affected widget.
|
||||
|
||||
@@ -30,7 +30,7 @@ import lombok.Data;
|
||||
* An event where a {@link net.runelite.api.widgets.Widget} has been loaded.
|
||||
*/
|
||||
@Data
|
||||
public class WidgetLoaded
|
||||
public class WidgetLoaded implements Event
|
||||
{
|
||||
/**
|
||||
* The group ID of the loaded widget.
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Data;
|
||||
* An event where an option has been clicked in a {@link net.runelite.api.widgets.Widget}s menu.
|
||||
*/
|
||||
@Data
|
||||
public class WidgetMenuOptionClicked
|
||||
public class WidgetMenuOptionClicked implements Event
|
||||
{
|
||||
/**
|
||||
* The clicked menu option.
|
||||
|
||||
@@ -28,7 +28,7 @@ package net.runelite.api.events;
|
||||
* An event where the position of a {@link net.runelite.api.widgets.Widget}
|
||||
* relative to its parent has changed.
|
||||
*/
|
||||
public class WidgetPositioned
|
||||
public class WidgetPositioned implements Event
|
||||
{
|
||||
public static final WidgetPositioned INSTANCE = new WidgetPositioned();
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Data;
|
||||
* An event where a draggable widget has been pressed.
|
||||
*/
|
||||
@Data
|
||||
public class WidgetPressed
|
||||
public class WidgetPressed implements Event
|
||||
{
|
||||
public static final WidgetPressed INSTANCE = new WidgetPressed();
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ import lombok.Value;
|
||||
* Event when the world list is loaded for the world switcher
|
||||
*/
|
||||
@Value
|
||||
public class WorldListLoad
|
||||
public class WorldListLoad implements Event
|
||||
{
|
||||
private final World[] worlds;
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
package net.runelite.api.hooks;
|
||||
|
||||
import net.runelite.api.MainBufferProvider;
|
||||
import net.runelite.api.events.Event;
|
||||
import net.runelite.api.widgets.WidgetItem;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.event.KeyEvent;
|
||||
@@ -41,14 +42,14 @@ public interface Callbacks
|
||||
*
|
||||
* @param event the event
|
||||
*/
|
||||
<T> void post(Class<T> eventClass, Object event);
|
||||
<T> void post(Class<T> eventClass, Event event);
|
||||
|
||||
/**
|
||||
* Post a deferred event, which gets delayed until the next cycle.
|
||||
*
|
||||
* @param event the event
|
||||
*/
|
||||
<T> void postDeferred(Class<T> eventClass, Object event);
|
||||
<T> void postDeferred(Class<T> eventClass, Event event);
|
||||
|
||||
/**
|
||||
* Called each client cycle.
|
||||
|
||||
@@ -1127,5 +1127,7 @@ public class WidgetID
|
||||
static class SeedVault
|
||||
{
|
||||
static final int TITLE_CONTAINER = 2;
|
||||
static final int ITEM_CONTAINER = 15;
|
||||
static final int ITEM_TEXT = 16;
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user