diff --git a/http-api/build.gradle b/http-api/build.gradle index 2576fa7122..309aa0de60 100644 --- a/http-api/build.gradle +++ b/http-api/build.gradle @@ -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' diff --git a/http-api/src/main/java/net/runelite/http/api/ws/WebsocketMessage.java b/http-api/src/main/java/net/runelite/http/api/ws/WebsocketMessage.java index d732c110cd..227e61eb56 100644 --- a/http-api/src/main/java/net/runelite/http/api/ws/WebsocketMessage.java +++ b/http-api/src/main/java/net/runelite/http/api/ws/WebsocketMessage.java @@ -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; diff --git a/http-api/src/main/java/net/runelite/http/api/ws/messages/LoginResponse.java b/http-api/src/main/java/net/runelite/http/api/ws/messages/LoginResponse.java index b517e773a2..588736887d 100644 --- a/http-api/src/main/java/net/runelite/http/api/ws/messages/LoginResponse.java +++ b/http-api/src/main/java/net/runelite/http/api/ws/messages/LoginResponse.java @@ -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; diff --git a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/Join.java b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/Join.java index 21aed0f653..e68910567b 100644 --- a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/Join.java +++ b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/Join.java @@ -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; diff --git a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/Part.java b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/Part.java index e284ff0cf8..0d487a3be6 100644 --- a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/Part.java +++ b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/Part.java @@ -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 { } diff --git a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/PartyMemberMessage.java b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/PartyMemberMessage.java index 9d5cab8545..3a4f330343 100644 --- a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/PartyMemberMessage.java +++ b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/PartyMemberMessage.java @@ -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; } diff --git a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/PartyMessage.java b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/PartyMessage.java index 709457ed8c..2f9ef90d92 100644 --- a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/PartyMessage.java +++ b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/PartyMessage.java @@ -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() { diff --git a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserJoin.java b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserJoin.java index 7f940e8060..fd024c6cf3 100644 --- a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserJoin.java +++ b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserJoin.java @@ -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; diff --git a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserPart.java b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserPart.java index e80c6002bd..1dcd277c02 100644 --- a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserPart.java +++ b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserPart.java @@ -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; } diff --git a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserSync.java b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserSync.java index c95038c9fa..bcb6ca0ee7 100644 --- a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserSync.java +++ b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserSync.java @@ -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 { } diff --git a/runelite-api/src/main/java/net/runelite/api/events/AnimationChanged.java b/runelite-api/src/main/java/net/runelite/api/events/AnimationChanged.java index 0c4e1d5b68..943337f132 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/AnimationChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/AnimationChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/AreaSoundEffectPlayed.java b/runelite-api/src/main/java/net/runelite/api/events/AreaSoundEffectPlayed.java index 488bff8264..084ba26f73 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/AreaSoundEffectPlayed.java +++ b/runelite-api/src/main/java/net/runelite/api/events/AreaSoundEffectPlayed.java @@ -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; diff --git a/runelite-api/src/main/java/net/runelite/api/events/BeforeMenuRender.java b/runelite-api/src/main/java/net/runelite/api/events/BeforeMenuRender.java index 5d1e10994b..055fb37a41 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/BeforeMenuRender.java +++ b/runelite-api/src/main/java/net/runelite/api/events/BeforeMenuRender.java @@ -27,7 +27,7 @@ package net.runelite.api.events; import lombok.Data; @Data -public class BeforeMenuRender +public class BeforeMenuRender implements Event { private boolean consumed; diff --git a/runelite-api/src/main/java/net/runelite/api/events/BeforeRender.java b/runelite-api/src/main/java/net/runelite/api/events/BeforeRender.java index 73c004d4b3..ac9db4163a 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/BeforeRender.java +++ b/runelite-api/src/main/java/net/runelite/api/events/BeforeRender.java @@ -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(); diff --git a/runelite-api/src/main/java/net/runelite/api/events/BoostedLevelChanged.java b/runelite-api/src/main/java/net/runelite/api/events/BoostedLevelChanged.java index a465e3b407..b40b450ab9 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/BoostedLevelChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/BoostedLevelChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/CannonballFired.java b/runelite-api/src/main/java/net/runelite/api/events/CannonballFired.java index c44789965a..61feeeeecb 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/CannonballFired.java +++ b/runelite-api/src/main/java/net/runelite/api/events/CannonballFired.java @@ -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(); diff --git a/runelite-api/src/main/java/net/runelite/api/events/CanvasSizeChanged.java b/runelite-api/src/main/java/net/runelite/api/events/CanvasSizeChanged.java index 0efef18d0d..66ad5dbcec 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/CanvasSizeChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/CanvasSizeChanged.java @@ -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(); diff --git a/runelite-api/src/main/java/net/runelite/api/events/ChatMessage.java b/runelite-api/src/main/java/net/runelite/api/events/ChatMessage.java index 791ec350b3..a29a674373 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ChatMessage.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ChatMessage.java @@ -41,7 +41,7 @@ import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor -public class ChatMessage +public class ChatMessage implements Event { /** * The underlying MessageNode for the message. diff --git a/runelite-api/src/main/java/net/runelite/api/events/ClanChanged.java b/runelite-api/src/main/java/net/runelite/api/events/ClanChanged.java index e39dbc400e..e44c1aabb4 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ClanChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ClanChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/ClanMemberJoined.java b/runelite-api/src/main/java/net/runelite/api/events/ClanMemberJoined.java index c0a694555b..c2f99c52a0 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ClanMemberJoined.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ClanMemberJoined.java @@ -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 diff --git a/runelite-api/src/main/java/net/runelite/api/events/ClanMemberLeft.java b/runelite-api/src/main/java/net/runelite/api/events/ClanMemberLeft.java index c403261532..68081b1e7d 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ClanMemberLeft.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ClanMemberLeft.java @@ -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 diff --git a/runelite-api/src/main/java/net/runelite/api/events/ClientTick.java b/runelite-api/src/main/java/net/runelite/api/events/ClientTick.java index 6874f4145c..9ffef0d573 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ClientTick.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ClientTick.java @@ -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(); diff --git a/runelite-api/src/main/java/net/runelite/api/events/CommandExecuted.java b/runelite-api/src/main/java/net/runelite/api/events/CommandExecuted.java index d0dfae5ff2..025b874245 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/CommandExecuted.java +++ b/runelite-api/src/main/java/net/runelite/api/events/CommandExecuted.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/ConfigChanged.java b/runelite-api/src/main/java/net/runelite/api/events/ConfigChanged.java index f27f4819cb..0198dc900b 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ConfigChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ConfigChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectChanged.java b/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectChanged.java index a18683d7b4..a64a1c5c47 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectChanged.java @@ -33,7 +33,7 @@ import lombok.Data; * has been modified. */ @Data -public class DecorativeObjectChanged +public class DecorativeObjectChanged implements Event { /** * The affected tile. diff --git a/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectDespawned.java index 94c06488c7..6760c0d05d 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectDespawned.java @@ -33,7 +33,7 @@ import lombok.Data; * is removed. */ @Data -public class DecorativeObjectDespawned +public class DecorativeObjectDespawned implements Event { /** * The affected tile. diff --git a/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectSpawned.java index fe8d17862f..37d0a5fab2 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/DecorativeObjectSpawned.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/DraggingWidgetChanged.java b/runelite-api/src/main/java/net/runelite/api/events/DraggingWidgetChanged.java index 8aef02d570..0f9bf09691 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/DraggingWidgetChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/DraggingWidgetChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/DynamicObjectAnimationChanged.java b/runelite-api/src/main/java/net/runelite/api/events/DynamicObjectAnimationChanged.java index 1e4571e4fe..382cb706fb 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/DynamicObjectAnimationChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/DynamicObjectAnimationChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/Event.java b/runelite-api/src/main/java/net/runelite/api/events/Event.java new file mode 100644 index 0000000000..33ea361467 --- /dev/null +++ b/runelite-api/src/main/java/net/runelite/api/events/Event.java @@ -0,0 +1,5 @@ +package net.runelite.api.events; + +public interface Event +{ +} diff --git a/runelite-api/src/main/java/net/runelite/api/events/ExperienceChanged.java b/runelite-api/src/main/java/net/runelite/api/events/ExperienceChanged.java index 587efd4f41..c2b1515027 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ExperienceChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ExperienceChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/FocusChanged.java b/runelite-api/src/main/java/net/runelite/api/events/FocusChanged.java index fd9fcb6466..3f190fd331 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/FocusChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/FocusChanged.java @@ -37,7 +37,7 @@ import lombok.Data; * */ @Data -public class FocusChanged +public class FocusChanged implements Event { /** * The new focus state. diff --git a/runelite-api/src/main/java/net/runelite/api/events/FriendAdded.java b/runelite-api/src/main/java/net/runelite/api/events/FriendAdded.java index 76b60e3681..47d577a132 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/FriendAdded.java +++ b/runelite-api/src/main/java/net/runelite/api/events/FriendAdded.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/FriendRemoved.java b/runelite-api/src/main/java/net/runelite/api/events/FriendRemoved.java index 2b9c641b3c..abf3f021a3 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/FriendRemoved.java +++ b/runelite-api/src/main/java/net/runelite/api/events/FriendRemoved.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/GameObjectChanged.java b/runelite-api/src/main/java/net/runelite/api/events/GameObjectChanged.java index 117ad81f60..dee1f261ea 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GameObjectChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GameObjectChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/GameObjectDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/GameObjectDespawned.java index 5d2e9fad1a..ed7e11ae2f 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GameObjectDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GameObjectDespawned.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/GameObjectSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/GameObjectSpawned.java index 5dfc301066..78ded8655c 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GameObjectSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GameObjectSpawned.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/GameStateChanged.java b/runelite-api/src/main/java/net/runelite/api/events/GameStateChanged.java index 2a0b61fc40..eb9612211c 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GameStateChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GameStateChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/GameTick.java b/runelite-api/src/main/java/net/runelite/api/events/GameTick.java index 2bf035633d..5e8046c3e8 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GameTick.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GameTick.java @@ -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(); diff --git a/runelite-api/src/main/java/net/runelite/api/events/GrandExchangeOfferChanged.java b/runelite-api/src/main/java/net/runelite/api/events/GrandExchangeOfferChanged.java index 88e4aa1fac..52ae0e6d92 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GrandExchangeOfferChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GrandExchangeOfferChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/GraphicsObjectCreated.java b/runelite-api/src/main/java/net/runelite/api/events/GraphicsObjectCreated.java index f2cc4f35a9..333e390592 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GraphicsObjectCreated.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GraphicsObjectCreated.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/GroundObjectChanged.java b/runelite-api/src/main/java/net/runelite/api/events/GroundObjectChanged.java index 8fa97ae503..c58b46575d 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GroundObjectChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GroundObjectChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/GroundObjectDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/GroundObjectDespawned.java index 54bb6dfbe0..6e793f025e 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GroundObjectDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GroundObjectDespawned.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/GroundObjectSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/GroundObjectSpawned.java index af1f15ab6f..2ccce09136 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/GroundObjectSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/GroundObjectSpawned.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/HitsplatApplied.java b/runelite-api/src/main/java/net/runelite/api/events/HitsplatApplied.java index f96a0f08d7..d8b22ee2bc 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/HitsplatApplied.java +++ b/runelite-api/src/main/java/net/runelite/api/events/HitsplatApplied.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/InteractChanged.java b/runelite-api/src/main/java/net/runelite/api/events/InteractChanged.java index fcd2e54a43..1e08180b88 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/InteractChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/InteractChanged.java @@ -28,7 +28,7 @@ import net.runelite.api.Actor; import lombok.Data; @Data -public class InteractChanged +public class InteractChanged implements Event { private Actor actor; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/InteractingChanged.java b/runelite-api/src/main/java/net/runelite/api/events/InteractingChanged.java index c76abd349f..722e2251eb 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/InteractingChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/InteractingChanged.java @@ -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; diff --git a/runelite-api/src/main/java/net/runelite/api/events/ItemContainerChanged.java b/runelite-api/src/main/java/net/runelite/api/events/ItemContainerChanged.java index 1b0a80fa4e..c9fed24aa9 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ItemContainerChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ItemContainerChanged.java @@ -39,7 +39,7 @@ import lombok.Value; * */ @Value -public class ItemContainerChanged +public class ItemContainerChanged implements Event { /** * The modified container's ID. diff --git a/runelite-api/src/main/java/net/runelite/api/events/ItemDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/ItemDespawned.java index 04016fe60a..cad55dd472 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ItemDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ItemDespawned.java @@ -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; diff --git a/runelite-api/src/main/java/net/runelite/api/events/ItemQuantityChanged.java b/runelite-api/src/main/java/net/runelite/api/events/ItemQuantityChanged.java index ec8bde0c5c..0408bceb64 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ItemQuantityChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ItemQuantityChanged.java @@ -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; diff --git a/runelite-api/src/main/java/net/runelite/api/events/ItemSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/ItemSpawned.java index 39a183e2d2..28314d4afd 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ItemSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ItemSpawned.java @@ -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; diff --git a/runelite-api/src/main/java/net/runelite/api/events/LocalPlayerDeath.java b/runelite-api/src/main/java/net/runelite/api/events/LocalPlayerDeath.java index 0cf8f33c76..6b22cf1784 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/LocalPlayerDeath.java +++ b/runelite-api/src/main/java/net/runelite/api/events/LocalPlayerDeath.java @@ -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(); diff --git a/runelite-api/src/main/java/net/runelite/api/events/MenuEntryAdded.java b/runelite-api/src/main/java/net/runelite/api/events/MenuEntryAdded.java index 37f73ec792..733d36e7d1 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/MenuEntryAdded.java +++ b/runelite-api/src/main/java/net/runelite/api/events/MenuEntryAdded.java @@ -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 diff --git a/runelite-api/src/main/java/net/runelite/api/events/MenuOpened.java b/runelite-api/src/main/java/net/runelite/api/events/MenuOpened.java index 3a7b04c287..bd05ba5ee8 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/MenuOpened.java +++ b/runelite-api/src/main/java/net/runelite/api/events/MenuOpened.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/MenuOptionClicked.java b/runelite-api/src/main/java/net/runelite/api/events/MenuOptionClicked.java index 848beb4b84..b3746be9e9 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/MenuOptionClicked.java +++ b/runelite-api/src/main/java/net/runelite/api/events/MenuOptionClicked.java @@ -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) { diff --git a/runelite-api/src/main/java/net/runelite/api/events/MenuShouldLeftClick.java b/runelite-api/src/main/java/net/runelite/api/events/MenuShouldLeftClick.java index c36372ff2c..9652721791 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/MenuShouldLeftClick.java +++ b/runelite-api/src/main/java/net/runelite/api/events/MenuShouldLeftClick.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/NameableNameChanged.java b/runelite-api/src/main/java/net/runelite/api/events/NameableNameChanged.java index afcc43973d..111b050733 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/NameableNameChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/NameableNameChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/NpcActionChanged.java b/runelite-api/src/main/java/net/runelite/api/events/NpcActionChanged.java index 35838e067c..76e1a0d973 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/NpcActionChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/NpcActionChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/NpcDefinitionChanged.java b/runelite-api/src/main/java/net/runelite/api/events/NpcDefinitionChanged.java index 7d9569f5bd..40c68f5621 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/NpcDefinitionChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/NpcDefinitionChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/NpcDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/NpcDespawned.java index f1bc72344f..225141fc89 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/NpcDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/NpcDespawned.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/NpcSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/NpcSpawned.java index 911d3780c1..6120968c4c 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/NpcSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/NpcSpawned.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/OverheadTextChanged.java b/runelite-api/src/main/java/net/runelite/api/events/OverheadTextChanged.java index a8a22730fd..0ebbc4f21e 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/OverheadTextChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/OverheadTextChanged.java @@ -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; diff --git a/runelite-api/src/main/java/net/runelite/api/events/PlayerDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/PlayerDespawned.java index 7094f3bd1a..025c362d1a 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/PlayerDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/PlayerDespawned.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/PlayerMenuOptionClicked.java b/runelite-api/src/main/java/net/runelite/api/events/PlayerMenuOptionClicked.java index dcfb0421ca..14a85b6025 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/PlayerMenuOptionClicked.java +++ b/runelite-api/src/main/java/net/runelite/api/events/PlayerMenuOptionClicked.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/PlayerMenuOptionsChanged.java b/runelite-api/src/main/java/net/runelite/api/events/PlayerMenuOptionsChanged.java index d33aa4d06c..a75af8acf3 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/PlayerMenuOptionsChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/PlayerMenuOptionsChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/PlayerSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/PlayerSpawned.java index 31cc16a9c0..7b836754f5 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/PlayerSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/PlayerSpawned.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/PostHealthBar.java b/runelite-api/src/main/java/net/runelite/api/events/PostHealthBar.java index c8896ff945..1f327ec13a 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/PostHealthBar.java +++ b/runelite-api/src/main/java/net/runelite/api/events/PostHealthBar.java @@ -28,7 +28,7 @@ import net.runelite.api.HealthBar; import lombok.Data; @Data -public class PostHealthBar +public class PostHealthBar implements Event { private HealthBar healthBar; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/PostItemDefinition.java b/runelite-api/src/main/java/net/runelite/api/events/PostItemDefinition.java index 35718b5ea9..c21c9e1fa6 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/PostItemDefinition.java +++ b/runelite-api/src/main/java/net/runelite/api/events/PostItemDefinition.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/ProjectileMoved.java b/runelite-api/src/main/java/net/runelite/api/events/ProjectileMoved.java index 70d73d7026..82590778be 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ProjectileMoved.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ProjectileMoved.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/ProjectileSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/ProjectileSpawned.java index f5ba810a5f..223e1cc579 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ProjectileSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ProjectileSpawned.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/ResizeableChanged.java b/runelite-api/src/main/java/net/runelite/api/events/ResizeableChanged.java index 146f92ac38..ecc5c0d380 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ResizeableChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ResizeableChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/ScriptCallbackEvent.java b/runelite-api/src/main/java/net/runelite/api/events/ScriptCallbackEvent.java index 0c1bdd5ee9..601ebb97fa 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ScriptCallbackEvent.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ScriptCallbackEvent.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/SoundEffectPlayed.java b/runelite-api/src/main/java/net/runelite/api/events/SoundEffectPlayed.java index 127a9a2646..640a5f1282 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/SoundEffectPlayed.java +++ b/runelite-api/src/main/java/net/runelite/api/events/SoundEffectPlayed.java @@ -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; diff --git a/runelite-api/src/main/java/net/runelite/api/events/SpotAnimationChanged.java b/runelite-api/src/main/java/net/runelite/api/events/SpotAnimationChanged.java index 79b8643d2c..ce7ea97397 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/SpotAnimationChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/SpotAnimationChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/UsernameChanged.java b/runelite-api/src/main/java/net/runelite/api/events/UsernameChanged.java index 3dea001150..802df61b63 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/UsernameChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/UsernameChanged.java @@ -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(); diff --git a/runelite-api/src/main/java/net/runelite/api/events/VarClientIntChanged.java b/runelite-api/src/main/java/net/runelite/api/events/VarClientIntChanged.java index 82c2c404d4..9aece80003 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/VarClientIntChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/VarClientIntChanged.java @@ -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; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/VarClientStrChanged.java b/runelite-api/src/main/java/net/runelite/api/events/VarClientStrChanged.java index e1d7da6ffa..1e109e66df 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/VarClientStrChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/VarClientStrChanged.java @@ -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; } diff --git a/runelite-api/src/main/java/net/runelite/api/events/VarbitChanged.java b/runelite-api/src/main/java/net/runelite/api/events/VarbitChanged.java index 9680e54ac4..ebadd78f59 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/VarbitChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/VarbitChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/WallObjectChanged.java b/runelite-api/src/main/java/net/runelite/api/events/WallObjectChanged.java index bea7686602..6cf5fd8f25 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WallObjectChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WallObjectChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/WallObjectDespawned.java b/runelite-api/src/main/java/net/runelite/api/events/WallObjectDespawned.java index 6ac609a46f..8a510a7bae 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WallObjectDespawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WallObjectDespawned.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/WallObjectSpawned.java b/runelite-api/src/main/java/net/runelite/api/events/WallObjectSpawned.java index dc22e07f7d..a1da8542a4 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WallObjectSpawned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WallObjectSpawned.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/WidgetHiddenChanged.java b/runelite-api/src/main/java/net/runelite/api/events/WidgetHiddenChanged.java index 2cf434faa4..578adbe296 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WidgetHiddenChanged.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WidgetHiddenChanged.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/WidgetLoaded.java b/runelite-api/src/main/java/net/runelite/api/events/WidgetLoaded.java index c71bc41634..5f337603d1 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WidgetLoaded.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WidgetLoaded.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/WidgetMenuOptionClicked.java b/runelite-api/src/main/java/net/runelite/api/events/WidgetMenuOptionClicked.java index 6945e88790..0a9270b6a5 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WidgetMenuOptionClicked.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WidgetMenuOptionClicked.java @@ -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. diff --git a/runelite-api/src/main/java/net/runelite/api/events/WidgetPositioned.java b/runelite-api/src/main/java/net/runelite/api/events/WidgetPositioned.java index 6f58e9fe07..4835db0aa4 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WidgetPositioned.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WidgetPositioned.java @@ -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(); diff --git a/runelite-api/src/main/java/net/runelite/api/events/WidgetPressed.java b/runelite-api/src/main/java/net/runelite/api/events/WidgetPressed.java index 12ee089c80..0b90d14563 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WidgetPressed.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WidgetPressed.java @@ -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(); diff --git a/runelite-api/src/main/java/net/runelite/api/events/WorldListLoad.java b/runelite-api/src/main/java/net/runelite/api/events/WorldListLoad.java index 67fa28797e..9484e5193f 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WorldListLoad.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WorldListLoad.java @@ -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; } diff --git a/runelite-api/src/main/java/net/runelite/api/hooks/Callbacks.java b/runelite-api/src/main/java/net/runelite/api/hooks/Callbacks.java index 861ecf1196..ef121b3ebe 100644 --- a/runelite-api/src/main/java/net/runelite/api/hooks/Callbacks.java +++ b/runelite-api/src/main/java/net/runelite/api/hooks/Callbacks.java @@ -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 */ - void post(Class eventClass, Object event); + void post(Class eventClass, Event event); /** * Post a deferred event, which gets delayed until the next cycle. * * @param event the event */ - void postDeferred(Class eventClass, Object event); + void postDeferred(Class eventClass, Event event); /** * Called each client cycle. diff --git a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java index 93c3927554..9cbc2c60c6 100644 --- a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java +++ b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java @@ -50,6 +50,7 @@ import net.runelite.api.Renderable; import net.runelite.api.WorldMapManager; import net.runelite.api.events.BeforeMenuRender; import net.runelite.api.events.BeforeRender; +import net.runelite.api.events.Event; import net.runelite.api.events.GameTick; import net.runelite.api.hooks.Callbacks; import net.runelite.api.hooks.DrawCallbacks; @@ -128,13 +129,13 @@ public class Hooks implements Callbacks private boolean shouldProcessGameTick; @Override - public void post(Class eventClass, Object event) + public void post(Class eventClass, Event event) { eventBus.post(eventClass, event); } @Override - public void postDeferred(Class eventClass, Object event) + public void postDeferred(Class eventClass, Event event) { deferredEventBus.post(eventClass, event); } diff --git a/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordDisconnected.java b/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordDisconnected.java index cc4d110a70..5d1d85df1c 100644 --- a/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordDisconnected.java +++ b/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordDisconnected.java @@ -25,12 +25,13 @@ package net.runelite.client.discord.events; import lombok.Value; +import net.runelite.api.events.Event; /** * Called when the RPC connection has been severed */ @Value -public class DiscordDisconnected +public class DiscordDisconnected implements Event { /** * Discord error code diff --git a/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordErrored.java b/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordErrored.java index 3c50464dbd..82a80dd8e0 100644 --- a/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordErrored.java +++ b/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordErrored.java @@ -25,12 +25,13 @@ package net.runelite.client.discord.events; import lombok.Value; +import net.runelite.api.events.Event; /** * Called when an internal error is caught within the SDK */ @Value -public class DiscordErrored +public class DiscordErrored implements Event { /** * Discord error code. diff --git a/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordJoinGame.java b/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordJoinGame.java index a9d9421f8a..021e1d1b5e 100644 --- a/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordJoinGame.java +++ b/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordJoinGame.java @@ -25,12 +25,13 @@ package net.runelite.client.discord.events; import lombok.Value; +import net.runelite.api.events.Event; /** * Called when the logged in user joined a game */ @Value -public class DiscordJoinGame +public class DiscordJoinGame implements Event { /** * Obfuscated data of your choosing used as join secret diff --git a/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordJoinRequest.java b/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordJoinRequest.java index 1b71368ac7..97b720894f 100644 --- a/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordJoinRequest.java +++ b/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordJoinRequest.java @@ -25,12 +25,13 @@ package net.runelite.client.discord.events; import lombok.Value; +import net.runelite.api.events.Event; /** * Called when another discord user wants to join the game of the logged in user */ @Value -public class DiscordJoinRequest +public class DiscordJoinRequest implements Event { /** * The userId for the user that requests to join diff --git a/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordReady.java b/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordReady.java index 2a6f9d622e..62a40b38fa 100644 --- a/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordReady.java +++ b/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordReady.java @@ -25,12 +25,13 @@ package net.runelite.client.discord.events; import lombok.Value; +import net.runelite.api.events.Event; /** * Called when the RPC connection has been established */ @Value -public class DiscordReady +public class DiscordReady implements Event { /** * The userId for the active user diff --git a/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordSpectateGame.java b/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordSpectateGame.java index bcff4a74bd..9f5204af1c 100644 --- a/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordSpectateGame.java +++ b/runelite-client/src/main/java/net/runelite/client/discord/events/DiscordSpectateGame.java @@ -25,12 +25,13 @@ package net.runelite.client.discord.events; import lombok.Value; +import net.runelite.api.events.Event; /** * Called when the logged in user joined to spectate a game */ @Value -public class DiscordSpectateGame +public class DiscordSpectateGame implements Event { /** * Obfuscated data of your choosing used as spectate secret diff --git a/runelite-client/src/main/java/net/runelite/client/eventbus/EventBus.java b/runelite-client/src/main/java/net/runelite/client/eventbus/EventBus.java index 12bba2da05..b07357ac41 100644 --- a/runelite-client/src/main/java/net/runelite/client/eventbus/EventBus.java +++ b/runelite-client/src/main/java/net/runelite/client/eventbus/EventBus.java @@ -11,12 +11,14 @@ import java.util.Map; import java.util.Objects; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; +import net.runelite.api.events.Event; import org.apache.commons.lang3.exception.ExceptionUtils; @Slf4j @Singleton public class EventBus implements EventBusInterface { + private Map subscriptionList = new HashMap<>(); private Map, Relay> subjectList = new HashMap<>(); private Map subscriptionsMap = new HashMap<>(); @@ -43,6 +45,11 @@ public class EventBus implements EventBusInterface // Subscribe on lifecycle (for example from plugin startUp -> shutdown) public void subscribe(Class eventClass, @NonNull Object lifecycle, @NonNull Consumer action) { + if (subscriptionList.containsKey(lifecycle) && eventClass.equals(subscriptionList.get(lifecycle))) + { + return; + } + Disposable disposable = getSubject(eventClass) .filter(Objects::nonNull) // Filter out null objects, better safe than sorry .cast(eventClass) // Cast it for easier usage @@ -53,6 +60,7 @@ public class EventBus implements EventBusInterface }); getCompositeDisposable(lifecycle).add(disposable); + subscriptionList.put(lifecycle, eventClass); } @Override @@ -60,6 +68,7 @@ public class EventBus implements EventBusInterface { //We have to remove the composition from the map, because once you dispose it can't be used anymore CompositeDisposable compositeDisposable = subscriptionsMap.remove(lifecycle); + subscriptionList.remove(lifecycle); if (compositeDisposable != null) { compositeDisposable.dispose(); @@ -67,7 +76,7 @@ public class EventBus implements EventBusInterface } @Override - public void post(Class eventClass, @NonNull Object event) + public void post(Class eventClass, @NonNull Event event) { getSubject(eventClass).accept(event); } diff --git a/runelite-client/src/main/java/net/runelite/client/eventbus/EventBusInterface.java b/runelite-client/src/main/java/net/runelite/client/eventbus/EventBusInterface.java index d0858562ef..ef75ac265a 100644 --- a/runelite-client/src/main/java/net/runelite/client/eventbus/EventBusInterface.java +++ b/runelite-client/src/main/java/net/runelite/client/eventbus/EventBusInterface.java @@ -2,6 +2,7 @@ package net.runelite.client.eventbus; import io.reactivex.annotations.NonNull; import io.reactivex.functions.Consumer; +import net.runelite.api.events.Event; public interface EventBusInterface { @@ -9,5 +10,5 @@ public interface EventBusInterface void unregister(@NonNull Object lifecycle); - void post(Class eventClass, @NonNull Object event); + void post(Class eventClass, @NonNull Event event); } diff --git a/runelite-client/src/main/java/net/runelite/client/events/NavigationButtonAdded.java b/runelite-client/src/main/java/net/runelite/client/events/NavigationButtonAdded.java index 647cbe7016..c1d2b728f5 100644 --- a/runelite-client/src/main/java/net/runelite/client/events/NavigationButtonAdded.java +++ b/runelite-client/src/main/java/net/runelite/client/events/NavigationButtonAdded.java @@ -25,10 +25,11 @@ package net.runelite.client.events; import lombok.Value; +import net.runelite.api.events.Event; import net.runelite.client.ui.NavigationButton; @Value -public class NavigationButtonAdded +public class NavigationButtonAdded implements Event { private NavigationButton button; } diff --git a/runelite-client/src/main/java/net/runelite/client/events/NavigationButtonRemoved.java b/runelite-client/src/main/java/net/runelite/client/events/NavigationButtonRemoved.java index 988d18e72b..422bcf8350 100644 --- a/runelite-client/src/main/java/net/runelite/client/events/NavigationButtonRemoved.java +++ b/runelite-client/src/main/java/net/runelite/client/events/NavigationButtonRemoved.java @@ -25,10 +25,11 @@ package net.runelite.client.events; import lombok.Value; +import net.runelite.api.events.Event; import net.runelite.client.ui.NavigationButton; @Value -public class NavigationButtonRemoved +public class NavigationButtonRemoved implements Event { private NavigationButton button; } diff --git a/runelite-client/src/main/java/net/runelite/client/events/NpcLootReceived.java b/runelite-client/src/main/java/net/runelite/client/events/NpcLootReceived.java index e3ef8a03da..ef0702974d 100644 --- a/runelite-client/src/main/java/net/runelite/client/events/NpcLootReceived.java +++ b/runelite-client/src/main/java/net/runelite/client/events/NpcLootReceived.java @@ -27,10 +27,11 @@ package net.runelite.client.events; import java.util.Collection; import lombok.Value; import net.runelite.api.NPC; +import net.runelite.api.events.Event; import net.runelite.client.game.ItemStack; @Value -public class NpcLootReceived +public class NpcLootReceived implements Event { private final NPC npc; private final Collection items; diff --git a/runelite-client/src/main/java/net/runelite/client/events/OverlayMenuClicked.java b/runelite-client/src/main/java/net/runelite/client/events/OverlayMenuClicked.java index 6394e7c799..b1c0d11494 100644 --- a/runelite-client/src/main/java/net/runelite/client/events/OverlayMenuClicked.java +++ b/runelite-client/src/main/java/net/runelite/client/events/OverlayMenuClicked.java @@ -26,6 +26,7 @@ package net.runelite.client.events; import lombok.AllArgsConstructor; import lombok.Data; +import net.runelite.api.events.Event; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayMenuEntry; @@ -34,7 +35,7 @@ import net.runelite.client.ui.overlay.OverlayMenuEntry; */ @Data @AllArgsConstructor -public class OverlayMenuClicked +public class OverlayMenuClicked implements Event { private OverlayMenuEntry entry; private Overlay overlay; diff --git a/runelite-client/src/main/java/net/runelite/client/events/PartyChanged.java b/runelite-client/src/main/java/net/runelite/client/events/PartyChanged.java index 0cb8a94c3e..72490a7e0c 100644 --- a/runelite-client/src/main/java/net/runelite/client/events/PartyChanged.java +++ b/runelite-client/src/main/java/net/runelite/client/events/PartyChanged.java @@ -26,9 +26,10 @@ package net.runelite.client.events; import java.util.UUID; import lombok.Value; +import net.runelite.api.events.Event; @Value -public class PartyChanged +public class PartyChanged implements Event { private final UUID partyId; } diff --git a/runelite-client/src/main/java/net/runelite/client/events/PlayerLootReceived.java b/runelite-client/src/main/java/net/runelite/client/events/PlayerLootReceived.java index 56eb722a83..c1891d664d 100644 --- a/runelite-client/src/main/java/net/runelite/client/events/PlayerLootReceived.java +++ b/runelite-client/src/main/java/net/runelite/client/events/PlayerLootReceived.java @@ -27,10 +27,11 @@ package net.runelite.client.events; import java.util.Collection; import lombok.Value; import net.runelite.api.Player; +import net.runelite.api.events.Event; import net.runelite.client.game.ItemStack; @Value -public class PlayerLootReceived +public class PlayerLootReceived implements Event { private final Player player; private final Collection items; diff --git a/runelite-client/src/main/java/net/runelite/client/events/PluginChanged.java b/runelite-client/src/main/java/net/runelite/client/events/PluginChanged.java index c237782732..723cd8e0b3 100644 --- a/runelite-client/src/main/java/net/runelite/client/events/PluginChanged.java +++ b/runelite-client/src/main/java/net/runelite/client/events/PluginChanged.java @@ -25,10 +25,11 @@ package net.runelite.client.events; import lombok.Data; +import net.runelite.api.events.Event; import net.runelite.client.plugins.Plugin; @Data -public class PluginChanged +public class PluginChanged implements Event { private final Plugin plugin; private final boolean loaded; diff --git a/runelite-client/src/main/java/net/runelite/client/events/SessionClose.java b/runelite-client/src/main/java/net/runelite/client/events/SessionClose.java index e8a2f227cb..f73d3a31b5 100644 --- a/runelite-client/src/main/java/net/runelite/client/events/SessionClose.java +++ b/runelite-client/src/main/java/net/runelite/client/events/SessionClose.java @@ -25,6 +25,7 @@ package net.runelite.client.events; import lombok.Data; +import net.runelite.api.events.Event; /** * An event where a new RuneLite account session has been closed, @@ -34,7 +35,7 @@ import lombok.Data; * it has nothing to do with whether an account is being logged out. */ @Data -public class SessionClose +public class SessionClose implements Event { } diff --git a/runelite-client/src/main/java/net/runelite/client/events/SessionOpen.java b/runelite-client/src/main/java/net/runelite/client/events/SessionOpen.java index 971ba7cb2e..b1d042af2b 100644 --- a/runelite-client/src/main/java/net/runelite/client/events/SessionOpen.java +++ b/runelite-client/src/main/java/net/runelite/client/events/SessionOpen.java @@ -25,6 +25,7 @@ package net.runelite.client.events; import lombok.Data; +import net.runelite.api.events.Event; /** * An event where a new RuneLite account session has been opened @@ -34,7 +35,7 @@ import lombok.Data; * it has nothing to do with whether an account is being logged in. */ @Data -public class SessionOpen +public class SessionOpen implements Event { } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/localstorage/events/LTNameChange.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/localstorage/events/LTNameChange.java index c5b166aacd..130c3ef440 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/localstorage/events/LTNameChange.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/localstorage/events/LTNameChange.java @@ -24,6 +24,8 @@ */ package net.runelite.client.plugins.loottracker.localstorage.events; -public class LTNameChange +import net.runelite.api.events.Event; + +public class LTNameChange implements Event { } \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/localstorage/events/LTRecordStored.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/localstorage/events/LTRecordStored.java index 31c4da4426..098b497ad6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/localstorage/events/LTRecordStored.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/localstorage/events/LTRecordStored.java @@ -25,10 +25,11 @@ package net.runelite.client.plugins.loottracker.localstorage.events; import lombok.Data; +import net.runelite.api.events.Event; import net.runelite.client.plugins.loottracker.localstorage.LTRecord; @Data -public class LTRecordStored +public class LTRecordStored implements Event { private final LTRecord record; } \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/party/messages/LocationUpdate.java b/runelite-client/src/main/java/net/runelite/client/plugins/party/messages/LocationUpdate.java index f5bf7131ce..1def4ffd2a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/party/messages/LocationUpdate.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/party/messages/LocationUpdate.java @@ -27,11 +27,12 @@ package net.runelite.client.plugins.party.messages; import lombok.EqualsAndHashCode; import lombok.Value; import net.runelite.api.coords.WorldPoint; +import net.runelite.api.events.Event; import net.runelite.http.api.ws.messages.party.PartyMemberMessage; @Value @EqualsAndHashCode(callSuper = true) -public class LocationUpdate extends PartyMemberMessage +public class LocationUpdate extends PartyMemberMessage implements Event { private final WorldPoint worldPoint; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/party/messages/SkillUpdate.java b/runelite-client/src/main/java/net/runelite/client/plugins/party/messages/SkillUpdate.java index 10f5810b0f..fd7f8f12ed 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/party/messages/SkillUpdate.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/party/messages/SkillUpdate.java @@ -27,11 +27,12 @@ package net.runelite.client.plugins.party.messages; import lombok.AllArgsConstructor; import lombok.Getter; import net.runelite.api.Skill; +import net.runelite.api.events.Event; import net.runelite.http.api.ws.messages.party.PartyMemberMessage; @AllArgsConstructor @Getter -public class SkillUpdate extends PartyMemberMessage +public class SkillUpdate extends PartyMemberMessage implements Event { private final Skill skill; private final int value; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/party/messages/TilePing.java b/runelite-client/src/main/java/net/runelite/client/plugins/party/messages/TilePing.java index fb4f812a81..40b3f7db78 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/party/messages/TilePing.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/party/messages/TilePing.java @@ -27,11 +27,12 @@ package net.runelite.client.plugins.party.messages; import lombok.EqualsAndHashCode; import lombok.Value; import net.runelite.api.coords.WorldPoint; +import net.runelite.api.events.Event; import net.runelite.http.api.ws.messages.party.PartyMemberMessage; @Value @EqualsAndHashCode(callSuper = true) -public class TilePing extends PartyMemberMessage +public class TilePing extends PartyMemberMessage implements Event { private final WorldPoint point; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterUpdate.java b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterUpdate.java index efb8b308a8..46cb32e134 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterUpdate.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterUpdate.java @@ -26,11 +26,12 @@ package net.runelite.client.plugins.specialcounter; import lombok.EqualsAndHashCode; import lombok.Value; +import net.runelite.api.events.Event; import net.runelite.http.api.ws.messages.party.PartyMemberMessage; @Value @EqualsAndHashCode(callSuper = true) -class SpecialCounterUpdate extends PartyMemberMessage +class SpecialCounterUpdate extends PartyMemberMessage implements Event { private final int npcId; private final SpecialWeapon weapon; diff --git a/runelite-client/src/main/java/net/runelite/client/util/DeferredEventBus.java b/runelite-client/src/main/java/net/runelite/client/util/DeferredEventBus.java index 9fd82a51c2..94eb2d4693 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/DeferredEventBus.java +++ b/runelite-client/src/main/java/net/runelite/client/util/DeferredEventBus.java @@ -29,6 +29,7 @@ import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; import javax.inject.Inject; import javax.inject.Singleton; +import net.runelite.api.events.Event; import net.runelite.client.eventbus.EventBus; import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; @@ -37,7 +38,7 @@ import org.apache.commons.lang3.tuple.Pair; public class DeferredEventBus extends EventBus { private final EventBus eventBus; - private final Queue> pendingEvents = new ConcurrentLinkedQueue<>(); + private final Queue> pendingEvents = new ConcurrentLinkedQueue<>(); @Inject private DeferredEventBus(EventBus eventBus) @@ -46,7 +47,7 @@ public class DeferredEventBus extends EventBus } @Override - public void post(Class eventClass, @NonNull Object event) + public void post(Class eventClass, @NonNull Event event) { pendingEvents.add(new ImmutablePair<>(eventClass, event)); } @@ -57,7 +58,7 @@ public class DeferredEventBus extends EventBus int size = pendingEvents.size(); while (size-- > 0) { - Pair eventPair = pendingEvents.poll(); + Pair eventPair = pendingEvents.poll(); if (eventPair != null) { eventBus.post(eventPair.getKey(), eventPair.getValue());