From 38d9800d10479795d2f1b97563aac30128d4aaf1 Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Fri, 28 Jun 2019 22:11:57 +0200 Subject: [PATCH] Convert game thread events to singletons (#794) * Convert game thread events to singletons * Fix checkstyle * Fix copy paste error --- .../runelite/api/events/AnimationChanged.java | 7 ++ .../api/events/AreaSoundEffectPlayed.java | 7 ++ .../runelite/api/events/BeforeMenuRender.java | 7 ++ .../net/runelite/api/events/BeforeRender.java | 6 ++ .../api/events/BoostedLevelChanged.java | 7 ++ .../runelite/api/events/CannonballFired.java | 6 ++ .../net/runelite/api/events/ChatMessage.java | 9 ++- .../net/runelite/api/events/ClanChanged.java | 11 ++- .../runelite/api/events/ClanMemberJoined.java | 11 ++- .../runelite/api/events/ClanMemberLeft.java | 11 ++- .../net/runelite/api/events/ClientTick.java | 6 ++ .../runelite/api/events/CommandExecuted.java | 11 ++- .../api/events/DecorativeObjectChanged.java | 7 ++ .../api/events/DecorativeObjectDespawned.java | 7 ++ .../api/events/DecorativeObjectSpawned.java | 7 ++ .../api/events/DraggingWidgetChanged.java | 7 ++ .../api/events/ExperienceChanged.java | 7 ++ .../api/events/GameObjectChanged.java | 7 ++ .../api/events/GameObjectDespawned.java | 7 ++ .../api/events/GameObjectSpawned.java | 7 ++ .../runelite/api/events/GameStateChanged.java | 7 ++ .../net/runelite/api/events/GameTick.java | 9 ++- .../api/events/GrandExchangeOfferChanged.java | 7 ++ .../api/events/GraphicsObjectCreated.java | 14 +++- .../api/events/GroundObjectChanged.java | 7 ++ .../api/events/GroundObjectDespawned.java | 7 ++ .../api/events/GroundObjectSpawned.java | 7 ++ .../runelite/api/events/HitsplatApplied.java | 7 ++ .../runelite/api/events/InteractChanged.java | 7 ++ .../api/events/InteractingChanged.java | 16 +++- .../api/events/ItemContainerChanged.java | 14 +++- .../runelite/api/events/ItemDespawned.java | 16 +++- .../api/events/ItemQuantityChanged.java | 19 +++-- .../net/runelite/api/events/ItemSpawned.java | 15 +++- .../runelite/api/events/LocalPlayerDeath.java | 6 ++ .../runelite/api/events/MenuEntryAdded.java | 9 ++- .../net/runelite/api/events/MenuOpened.java | 7 ++ .../api/events/MenuOptionClicked.java | 7 ++ .../api/events/MenuShouldLeftClick.java | 7 ++ .../api/events/NameableNameChanged.java | 13 ++- .../runelite/api/events/NpcActionChanged.java | 7 ++ .../net/runelite/api/events/NpcDespawned.java | 13 ++- .../net/runelite/api/events/NpcSpawned.java | 13 ++- .../api/events/OverheadTextChanged.java | 15 +++- .../runelite/api/events/PlayerDespawned.java | 13 ++- .../api/events/PlayerMenuOptionClicked.java | 7 ++ .../api/events/PlayerMenuOptionsChanged.java | 7 ++ .../runelite/api/events/PlayerSpawned.java | 13 ++- .../runelite/api/events/PostHealthBar.java | 7 ++ .../api/events/PostItemDefinition.java | 7 ++ .../runelite/api/events/ProjectileMoved.java | 7 ++ .../api/events/ProjectileSpawned.java | 7 ++ .../runelite/api/events/RemovedFriend.java | 13 ++- .../api/events/ResizeableChanged.java | 7 ++ .../api/events/ScriptCallbackEvent.java | 7 ++ .../api/events/SoundEffectPlayed.java | 7 ++ .../api/events/SpotAnimationChanged.java | 7 ++ .../runelite/api/events/UsernameChanged.java | 6 ++ .../api/events/VarClientIntChanged.java | 11 ++- .../api/events/VarClientStrChanged.java | 11 ++- .../runelite/api/events/VarbitChanged.java | 7 ++ .../api/events/WallObjectChanged.java | 7 ++ .../api/events/WallObjectDespawned.java | 7 ++ .../api/events/WallObjectSpawned.java | 7 ++ .../api/events/WidgetHiddenChanged.java | 7 ++ .../net/runelite/api/events/WidgetLoaded.java | 7 ++ .../api/events/WidgetMenuOptionClicked.java | 7 ++ .../runelite/api/events/WidgetPositioned.java | 9 ++- .../runelite/api/events/WorldListLoad.java | 13 ++- .../net/runelite/client/callback/Hooks.java | 9 +-- .../runelite/client/chat/CommandManager.java | 4 +- .../runelite/client/menus/MenuManager.java | 4 +- .../plugins/devtools/DevToolsPlugin.java | 10 +-- .../freezetimers/FreezeTimersPlugin.java | 2 +- .../client/util/GameEventManager.java | 22 +++-- .../attackstyles/AttackStylesPluginTest.java | 6 +- .../plugins/cerberus/CerberusPluginTest.java | 2 +- .../ChatNotificationsPluginTest.java | 2 +- .../plugins/cooking/CookingPluginTest.java | 2 +- .../plugins/emojis/EmojiPluginTest.java | 8 +- .../idlenotifier/IdleNotifierPluginTest.java | 81 +++++++++++-------- .../motherlode/MotherlodePluginTest.java | 10 ++- .../screenshot/ScreenshotPluginTest.java | 16 ++-- .../plugins/slayer/SlayerPluginTest.java | 26 +++--- .../net/runelite/mixins/RSActorMixin.java | 17 ++-- .../net/runelite/mixins/RSClanChatMixin.java | 6 +- .../net/runelite/mixins/RSClientMixin.java | 42 ++++++---- .../runelite/mixins/RSFriendSystemMixin.java | 3 +- .../mixins/RSGraphicsObjectMixin.java | 3 +- .../runelite/mixins/RSGroundItemMixin.java | 7 +- .../mixins/RSHealthBarDefinitionMixin.java | 2 +- .../runelite/mixins/RSItemContainerMixin.java | 3 +- .../mixins/RSItemDefinitionMixin.java | 2 +- .../runelite/mixins/RSNPCDefinitionMixin.java | 2 +- .../java/net/runelite/mixins/RSNPCMixin.java | 4 +- .../runelite/mixins/RSProjectileMixin.java | 4 +- .../java/net/runelite/mixins/RSTileMixin.java | 44 ++++++---- .../net/runelite/mixins/RSVarcsMixin.java | 8 +- .../net/runelite/mixins/RSWidgetMixin.java | 4 +- .../net/runelite/mixins/RSWorldMixin.java | 3 +- .../net/runelite/mixins/ScriptVMMixin.java | 2 +- .../net/runelite/mixins/SoundEffectMixin.java | 4 +- 102 files changed, 756 insertions(+), 220 deletions(-) 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..9d3bf12a07 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 @@ -20,6 +20,13 @@ import net.runelite.api.Actor; @Data public class AnimationChanged { + public static final AnimationChanged INSTANCE = new AnimationChanged(); + + private AnimationChanged() + { + // noop + } + /** * 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..4fb1a120a6 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 @@ -29,6 +29,13 @@ import lombok.Data; @Data public class AreaSoundEffectPlayed { + public static final AreaSoundEffectPlayed INSTANCE = new AreaSoundEffectPlayed(); + + private AreaSoundEffectPlayed() + { + // noop + } + private int soundId; private int sceneX; private int sceneY; 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..db6d1de3f3 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 @@ -29,6 +29,13 @@ import lombok.Data; @Data public class BeforeMenuRender { + public static final BeforeMenuRender INSTANCE = new BeforeMenuRender(); + + private BeforeMenuRender() + { + // noop + } + private boolean consumed; public void consume() 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 741041e1e0..73c004d4b3 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 @@ -29,4 +29,10 @@ package net.runelite.api.events; */ public class BeforeRender { + public static final BeforeRender INSTANCE = new BeforeRender(); + + private BeforeRender() + { + // noop + } } 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..e38a043e9a 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 @@ -44,6 +44,13 @@ import lombok.Data; @Data public class BoostedLevelChanged { + public static final BoostedLevelChanged INSTANCE = new BoostedLevelChanged(); + + private BoostedLevelChanged() + { + // noop + } + /** * 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 077a88096d..c44789965a 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 @@ -29,4 +29,10 @@ package net.runelite.api.events; */ public class CannonballFired { + public static final CannonballFired INSTANCE = new CannonballFired(); + + private CannonballFired() + { + // noop + } } 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..5b464d0807 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 @@ -28,7 +28,6 @@ import net.runelite.api.ChatMessageType; import net.runelite.api.MessageNode; import lombok.AllArgsConstructor; import lombok.Data; -import lombok.NoArgsConstructor; /** * An event where a new chat message is received. @@ -40,9 +39,15 @@ import lombok.NoArgsConstructor; */ @Data @AllArgsConstructor -@NoArgsConstructor public class ChatMessage { + public static final ChatMessage INSTANCE = new ChatMessage(); + + private ChatMessage() + { + // noop + } + /** * 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..de9ae6798e 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 @@ -24,14 +24,21 @@ */ package net.runelite.api.events; -import lombok.Value; +import lombok.Data; /** * An event where the client has joined or left a clan chat. */ -@Value +@Data public class ClanChanged { + public static final ClanChanged INSTANCE = new ClanChanged(); + + private ClanChanged() + { + // noop + } + /** * 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..81a9a96fd6 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 @@ -25,11 +25,18 @@ package net.runelite.api.events; import net.runelite.api.ClanMember; -import lombok.Value; +import lombok.Data; -@Value +@Data public class ClanMemberJoined { + public static final ClanMemberJoined INSTANCE = new ClanMemberJoined(); + + private ClanMemberJoined() + { + // noop + } + /** * 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..75e46e5e1d 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 @@ -25,11 +25,18 @@ package net.runelite.api.events; import net.runelite.api.ClanMember; -import lombok.Value; +import lombok.Data; -@Value +@Data public class ClanMemberLeft { + public static final ClanMemberLeft INSTANCE = new ClanMemberLeft(); + + private ClanMemberLeft() + { + // noop + } + /** * 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 369ff7982a..6874f4145c 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 @@ -29,4 +29,10 @@ package net.runelite.api.events; */ public class ClientTick { + public static final ClientTick INSTANCE = new ClientTick(); + + private ClientTick() + { + // noop + } } 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..2f170642e8 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 @@ -24,7 +24,7 @@ */ package net.runelite.api.events; -import lombok.Value; +import lombok.Data; /** * An event where a command has been used in the chat. @@ -41,9 +41,16 @@ import lombok.Value; * set the command field to an empty string. For example, the message ":: hello world!" * will set command to "" and arguments to ["hello", "world!"]. */ -@Value +@Data public class CommandExecuted { + public static final CommandExecuted INSTANCE = new CommandExecuted(); + + private CommandExecuted() + { + // noop + } + /** * The name of the command entered. */ 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..161f3c6b19 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 @@ -35,6 +35,13 @@ import lombok.Data; @Data public class DecorativeObjectChanged { + public static final DecorativeObjectChanged INSTANCE = new DecorativeObjectChanged(); + + private DecorativeObjectChanged() + { + // noop + } + /** * 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..efa9f657db 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 @@ -35,6 +35,13 @@ import lombok.Data; @Data public class DecorativeObjectDespawned { + public static final DecorativeObjectDespawned INSTANCE = new DecorativeObjectDespawned(); + + private DecorativeObjectDespawned() + { + // noop + } + /** * 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..a25b493743 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 @@ -34,6 +34,13 @@ import lombok.Data; @Data public class DecorativeObjectSpawned { + public static final DecorativeObjectSpawned INSTANCE = new DecorativeObjectSpawned(); + + private DecorativeObjectSpawned() + { + // noop + } + /** * 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..8f1179f76e 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 @@ -33,6 +33,13 @@ import lombok.Data; @Data public class DraggingWidgetChanged { + public static final DraggingWidgetChanged INSTANCE = new DraggingWidgetChanged(); + + private DraggingWidgetChanged() + { + // noop + } + /** * Whether a widget is currently being dragged. */ 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..980fbfcd75 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 @@ -34,6 +34,13 @@ import lombok.Data; @Data public class ExperienceChanged { + public static final ExperienceChanged INSTANCE = new ExperienceChanged(); + + private ExperienceChanged() + { + // noop + } + /** * The modified skill. */ 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..5cdba0899c 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 @@ -34,6 +34,13 @@ import net.runelite.api.Tile; @Data public class GameObjectChanged { + public static final GameObjectChanged INSTANCE = new GameObjectChanged(); + + private GameObjectChanged() + { + // noop + } + /** * 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..28091ca793 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 @@ -34,6 +34,13 @@ import lombok.Data; @Data public class GameObjectDespawned { + public static final GameObjectDespawned INSTANCE = new GameObjectDespawned(); + + private GameObjectDespawned() + { + // noop + } + /** * 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..e7965b1164 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 @@ -34,6 +34,13 @@ import lombok.Data; @Data public class GameObjectSpawned { + public static final GameObjectSpawned INSTANCE = new GameObjectSpawned(); + + private GameObjectSpawned() + { + // noop + } + /** * 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..f89c8ecb43 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 @@ -33,6 +33,13 @@ import lombok.Data; @Data public class GameStateChanged { + public static final GameStateChanged INSTANCE = new GameStateChanged(); + + private GameStateChanged() + { + // noop + } + /** * 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 aefa7fc3e4..2bf035633d 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 @@ -24,8 +24,6 @@ */ package net.runelite.api.events; -import lombok.Data; - // The NPC update event seem to run every server tick, // but having the game tick event after all packets // have been processed is typically more useful. @@ -43,7 +41,12 @@ import lombok.Data; * Note that occurrences that take place purely on the client, such as right * click menus, are independent of the game tick. */ -@Data public class GameTick { + public static final GameTick INSTANCE = new GameTick(); + + private GameTick() + { + // noop + } } 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 7260063760..7a49ee6f8d 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 @@ -44,6 +44,13 @@ import lombok.Data; @Data public class GrandExchangeOfferChanged { + public static final GrandExchangeOfferChanged INSTANCE = new GrandExchangeOfferChanged(); + + private GrandExchangeOfferChanged() + { + // noop + } + /** * 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..4d624e716f 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 @@ -25,16 +25,24 @@ package net.runelite.api.events; import net.runelite.api.GraphicsObject; -import lombok.Value; + +import lombok.Data; /** * An event where a new {@link GraphicsObject} has been created. */ -@Value +@Data public class GraphicsObjectCreated { + public static final GraphicsObjectCreated INSTANCE = new GraphicsObjectCreated(); + + private GraphicsObjectCreated() + { + // noop + } + /** * The newly created graphics object. */ - private final GraphicsObject graphicsObject; + private GraphicsObject graphicsObject; } 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..836780f6a5 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 @@ -34,6 +34,13 @@ import lombok.Data; @Data public class GroundObjectChanged { + public static final GroundObjectChanged INSTANCE = new GroundObjectChanged(); + + private GroundObjectChanged() + { + // noop + } + /** * 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..0ff488f3b4 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 @@ -34,6 +34,13 @@ import lombok.Data; @Data public class GroundObjectDespawned { + public static final GroundObjectDespawned INSTANCE = new GroundObjectDespawned(); + + private GroundObjectDespawned() + { + // noop + } + /** * 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..7964707840 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 @@ -34,6 +34,13 @@ import lombok.Data; @Data public class GroundObjectSpawned { + public static final GroundObjectSpawned INSTANCE = new GroundObjectSpawned(); + + private GroundObjectSpawned() + { + // noop + } + /** * 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..3cf8986299 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 @@ -38,6 +38,13 @@ import lombok.Data; @Data public class HitsplatApplied { + public static final HitsplatApplied INSTANCE = new HitsplatApplied(); + + private HitsplatApplied() + { + // noop + } + /** * 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..f606eba5d0 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 @@ -30,5 +30,12 @@ import lombok.Data; @Data public class InteractChanged { + public static final InteractChanged INSTANCE = new InteractChanged(); + + private InteractChanged() + { + // noop + } + 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..4549527b4d 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 @@ -1,18 +1,26 @@ package net.runelite.api.events; import net.runelite.api.Actor; -import lombok.Value; + +import lombok.Data; /** * An event called when the actor an actor is interacting with changes */ -@Value +@Data public class InteractingChanged { - private final Actor source; + public static final InteractingChanged INSTANCE = new InteractingChanged(); + + private InteractingChanged() + { + // noop + } + + private Actor source; /** * Target actor, may be null */ - private final Actor target; + private Actor target; } 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 ec0ff6627b..e68ad8fb44 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 @@ -25,7 +25,8 @@ package net.runelite.api.events; import net.runelite.api.ItemContainer; -import lombok.Value; + +import lombok.Data; /** * An event called whenever the stack size of an {@link api.Item} @@ -38,11 +39,18 @@ import lombok.Value; *
  • Dropping an item
  • * */ -@Value +@Data public class ItemContainerChanged { + public static final ItemContainerChanged INSTANCE = new ItemContainerChanged(); + + private ItemContainerChanged() + { + // noop + } + /** * The modified item container. */ - private final ItemContainer itemContainer; + private ItemContainer itemContainer; } 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 aeb90ede92..1c22d7ce59 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 @@ -26,15 +26,23 @@ package net.runelite.api.events; import net.runelite.api.Item; import net.runelite.api.Tile; -import lombok.Value; + +import lombok.Data; /** * Called when an item pile despawns from the ground. When the client loads a new scene, * all item piles are implicitly despawned, and despawn events will not be sent. */ -@Value +@Data public class ItemDespawned { - private final Tile tile; - private final Item item; + public static final ItemDespawned INSTANCE = new ItemDespawned(); + + private ItemDespawned() + { + // noop + } + + private Tile tile; + private Item 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 2cb1048f06..ee273f407d 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 @@ -26,16 +26,23 @@ package net.runelite.api.events; import net.runelite.api.Item; import net.runelite.api.Tile; -import lombok.Value; +import lombok.Data; /** * Called when the quantity of an item pile changes. */ -@Value +@Data public class ItemQuantityChanged { - private final Item item; - private final Tile tile; - private final int oldQuantity; - private final int newQuantity; + public static final ItemQuantityChanged INSTANCE = new ItemQuantityChanged(); + + private ItemQuantityChanged() + { + // noop + } + + private Item item; + private Tile tile; + private int oldQuantity; + private int newQuantity; } 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 eb41b3e530..aae38645c2 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 @@ -26,15 +26,22 @@ package net.runelite.api.events; import net.runelite.api.Item; import net.runelite.api.Tile; -import lombok.Value; +import lombok.Data; /** * Called when an item pile spawns on the ground. When the client loads a new scene, * all item piles are implicitly reset and a new spawn event will be sent. */ -@Value +@Data public class ItemSpawned { - private final Tile tile; - private final Item item; + public static final ItemSpawned INSTANCE = new ItemSpawned(); + + private ItemSpawned() + { + // noop + } + + private Tile tile; + private Item 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 e46b815f49..0cf8f33c76 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 @@ -29,4 +29,10 @@ package net.runelite.api.events; */ public class LocalPlayerDeath { + public static final LocalPlayerDeath INSTANCE = new LocalPlayerDeath(); + + private LocalPlayerDeath() + { + // noop + } } 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..0f1cafcf15 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 @@ -35,10 +35,17 @@ import net.runelite.api.MenuEntry; @AllArgsConstructor public class MenuEntryAdded { + public static final MenuEntryAdded INSTANCE = new MenuEntryAdded(); + + private MenuEntryAdded() + { + // noop + } + /** * The MenuEntry object that was actually added */ - private final MenuEntry menuEntry; + private MenuEntry menuEntry; public String getOption() { 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..634d8f46f3 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 @@ -33,6 +33,13 @@ import lombok.Data; @Data public class MenuOpened { + public static final MenuOpened INSTANCE = new MenuOpened(); + + private MenuOpened() + { + // noop + } + /** * 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 2180458228..770fb6966e 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,6 +42,13 @@ import net.runelite.api.MenuEntry; @Data public class MenuOptionClicked { + public static final MenuOptionClicked INSTANCE = new MenuOptionClicked(); + + private MenuOptionClicked() + { + // noop + } + public MenuOptionClicked(MenuEntry entry) { 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..85561790ab 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 @@ -33,6 +33,13 @@ import lombok.Data; @Data public class MenuShouldLeftClick { + public static final MenuShouldLeftClick INSTANCE = new MenuShouldLeftClick(); + + private MenuShouldLeftClick() + { + // noop + } + /** * 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..839f81dcec 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 @@ -25,16 +25,23 @@ package net.runelite.api.events; import net.runelite.api.Nameable; -import lombok.Value; +import lombok.Data; /** * An event where a {@link Nameable} has had their name changed. */ -@Value +@Data public class NameableNameChanged { + public static final NameableNameChanged INSTANCE = new NameableNameChanged(); + + private NameableNameChanged() + { + // noop + } + /** * The nameable that changed names. */ - private final Nameable nameable; + private Nameable nameable; } 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..f5906ad03f 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 @@ -33,6 +33,13 @@ import net.runelite.api.NPCDefinition; @Data public class NpcActionChanged { + public static final NpcActionChanged INSTANCE = new NpcActionChanged(); + + private NpcActionChanged() + { + // noop + } + /** * The NPC composition that has been 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..f5b20af29e 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 @@ -26,18 +26,25 @@ package net.runelite.api.events; import net.runelite.api.Actor; import net.runelite.api.NPC; -import lombok.Value; +import lombok.Data; /** * An event where an {@link NPC} has despawned. */ -@Value +@Data public class NpcDespawned { + public static final NpcDespawned INSTANCE = new NpcDespawned(); + + private NpcDespawned() + { + // noop + } + /** * The despawned NPC. */ - private final NPC npc; + private NPC npc; public Actor getActor() { 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..226fa9918b 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 @@ -26,18 +26,25 @@ package net.runelite.api.events; import net.runelite.api.Actor; import net.runelite.api.NPC; -import lombok.Value; +import lombok.Data; /** * An event where an {@link NPC} has spawned. */ -@Value +@Data public class NpcSpawned { + public static final NpcSpawned INSTANCE = new NpcSpawned(); + + private NpcSpawned() + { + // noop + } + /** * The spawned NPC. */ - private final NPC npc; + private NPC npc; public Actor getActor() { 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..242c2c07c5 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 @@ -1,12 +1,19 @@ package net.runelite.api.events; import net.runelite.api.Actor; -import lombok.Value; +import lombok.Data; -@Value +@Data public class OverheadTextChanged { - private final Actor actor; + public static final OverheadTextChanged INSTANCE = new OverheadTextChanged(); - private final String overheadText; + private OverheadTextChanged() + { + // noop + } + + private Actor actor; + + private String overheadText; } \ No newline at end of file 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..3740d6179d 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 @@ -26,20 +26,27 @@ package net.runelite.api.events; import net.runelite.api.Actor; import net.runelite.api.Player; -import lombok.Value; +import lombok.Data; /** * An event where a {@link Player} has despawned. *

    * Note: This event does not get called for the local player. */ -@Value +@Data public class PlayerDespawned { + public static final PlayerDespawned INSTANCE = new PlayerDespawned(); + + private PlayerDespawned() + { + // noop + } + /** * The despawned player. */ - private final Player player; + private Player player; public Actor getActor() { 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..b085b0e5bb 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 @@ -33,6 +33,13 @@ import lombok.Data; @Data public class PlayerMenuOptionClicked { + public static final PlayerMenuOptionClicked INSTANCE = new PlayerMenuOptionClicked(); + + private PlayerMenuOptionClicked() + { + // noop + } + /** * 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..4ce089baed 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 @@ -29,6 +29,13 @@ import lombok.Data; @Data public class PlayerMenuOptionsChanged { + public static final PlayerMenuOptionsChanged INSTANCE = new PlayerMenuOptionsChanged(); + + private PlayerMenuOptionsChanged() + { + // noop + } + /** * 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..aafcf5ec01 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 @@ -26,18 +26,25 @@ package net.runelite.api.events; import net.runelite.api.Actor; import net.runelite.api.Player; -import lombok.Value; +import lombok.Data; /** * An event where a {@link Player} has spawned. */ -@Value +@Data public class PlayerSpawned { + public static final PlayerSpawned INSTANCE = new PlayerSpawned(); + + private PlayerSpawned() + { + // noop + } + /** * The spawned player. */ - private final Player player; + private Player player; public Actor getActor() { 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..5f0f7addee 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 @@ -30,5 +30,12 @@ import lombok.Data; @Data public class PostHealthBar { + public static final PostHealthBar INSTANCE = new PostHealthBar(); + + private PostHealthBar() + { + // noop + } + 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..66b4dbb7ce 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 @@ -34,6 +34,13 @@ import net.runelite.api.ItemDefinition; @Data public class PostItemDefinition { + public static final PostItemDefinition INSTANCE = new PostItemDefinition(); + + private PostItemDefinition() + { + // noop + } + /** * 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..4deb6879bc 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 @@ -37,6 +37,13 @@ import lombok.Data; @Data public class ProjectileMoved { + public static final ProjectileMoved INSTANCE = new ProjectileMoved(); + + private ProjectileMoved() + { + // noop + } + /** * 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..d415e3b850 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 @@ -34,6 +34,13 @@ import lombok.Data; @Data public class ProjectileSpawned { + public static final ProjectileSpawned INSTANCE = new ProjectileSpawned(); + + private ProjectileSpawned() + { + // noop + } + /** * The spawned projectile. */ diff --git a/runelite-api/src/main/java/net/runelite/api/events/RemovedFriend.java b/runelite-api/src/main/java/net/runelite/api/events/RemovedFriend.java index c60cd13c33..e8e7f24511 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/RemovedFriend.java +++ b/runelite-api/src/main/java/net/runelite/api/events/RemovedFriend.java @@ -24,16 +24,23 @@ */ package net.runelite.api.events; -import lombok.Value; +import lombok.Data; /** * An event where a request to remove a friend is sent to the server. */ -@Value +@Data public class RemovedFriend { + public static final RemovedFriend INSTANCE = new RemovedFriend(); + + private RemovedFriend() + { + // noop + } + /** * The name of the removed friend. */ - private final String name; + private String name; } 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..084d0eb0f6 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 @@ -34,6 +34,13 @@ import lombok.Data; @Data public class ResizeableChanged { + public static final ResizeableChanged INSTANCE = new ResizeableChanged(); + + private ResizeableChanged() + { + // noop + } + /** * 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..fc36c9ae4d 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 @@ -33,6 +33,13 @@ import lombok.Data; @Data public class ScriptCallbackEvent { + public static final ScriptCallbackEvent INSTANCE = new ScriptCallbackEvent(); + + private ScriptCallbackEvent() + { + // noop + } + /** * 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..049229c6e4 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 @@ -29,6 +29,13 @@ import lombok.Data; @Data public class SoundEffectPlayed { + public static final SoundEffectPlayed INSTANCE = new SoundEffectPlayed(); + + private SoundEffectPlayed() + { + // noop + } + 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..6bfe72baec 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 @@ -21,6 +21,13 @@ import net.runelite.api.Actor; @Data public class SpotAnimationChanged { + public static final SpotAnimationChanged INSTANCE = new SpotAnimationChanged(); + + private SpotAnimationChanged() + { + // noop + } + /** * 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 91bed8a304..3dea001150 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 @@ -32,4 +32,10 @@ package net.runelite.api.events; */ public class UsernameChanged { + public static final UsernameChanged INSTANCE = new UsernameChanged(); + + private UsernameChanged() + { + // noop + } } 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..ab9892b6de 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 @@ -25,13 +25,20 @@ */ package net.runelite.api.events; -import lombok.Value; +import lombok.Data; /** * An event where a varbit integer has changed. */ -@Value +@Data public class VarClientIntChanged { + public static final VarClientIntChanged INSTANCE = new VarClientIntChanged(); + + private VarClientIntChanged() + { + // noop + } + 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..7aca876b72 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 @@ -25,13 +25,20 @@ */ package net.runelite.api.events; -import lombok.Value; +import lombok.Data; /** * An event where a varbit string has changed. */ -@Value +@Data public class VarClientStrChanged { + public static final VarClientStrChanged INSTANCE = new VarClientStrChanged(); + + private VarClientStrChanged() + { + // noop + } + 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..04b8a30ab3 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 @@ -34,6 +34,13 @@ import lombok.Data; @Data public class VarbitChanged { + public static final VarbitChanged INSTANCE = new VarbitChanged(); + + private VarbitChanged() + { + // noop + } + /** * Index in the varp array that was changed. * For varplayer, this is the varplayer id. 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..59ccec9a72 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 @@ -34,6 +34,13 @@ import lombok.Data; @Data public class WallObjectChanged { + public static final WallObjectChanged INSTANCE = new WallObjectChanged(); + + private WallObjectChanged() + { + // noop + } + /** * 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..6c34cbc9ac 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 @@ -34,6 +34,13 @@ import lombok.Data; @Data public class WallObjectDespawned { + public static final WallObjectDespawned INSTANCE = new WallObjectDespawned(); + + private WallObjectDespawned() + { + // noop + } + /** * 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..babf7d50b8 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 @@ -34,6 +34,13 @@ import lombok.Data; @Data public class WallObjectSpawned { + public static final WallObjectSpawned INSTANCE = new WallObjectSpawned(); + + private WallObjectSpawned() + { + // noop + } + /** * 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..91883db505 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 @@ -33,6 +33,13 @@ import lombok.Data; @Data public class WidgetHiddenChanged { + public static final WidgetHiddenChanged INSTANCE = new WidgetHiddenChanged(); + + private WidgetHiddenChanged() + { + // noop + } + /** * 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..bf9c258412 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 @@ -32,6 +32,13 @@ import lombok.Data; @Data public class WidgetLoaded { + public static final WidgetLoaded INSTANCE = new WidgetLoaded(); + + private WidgetLoaded() + { + // noop + } + /** * 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..abe0962d8e 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 @@ -33,6 +33,13 @@ import lombok.Data; @Data public class WidgetMenuOptionClicked { + public static final WidgetMenuOptionClicked INSTANCE = new WidgetMenuOptionClicked(); + + private WidgetMenuOptionClicked() + { + // noop + } + /** * 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 d5479e3485..6f58e9fe07 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 @@ -24,13 +24,16 @@ */ package net.runelite.api.events; -import lombok.Value; - /** * An event where the position of a {@link net.runelite.api.widgets.Widget} * relative to its parent has changed. */ -@Value public class WidgetPositioned { + public static final WidgetPositioned INSTANCE = new WidgetPositioned(); + + private WidgetPositioned() + { + // noop + } } 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..f060a50139 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 @@ -25,13 +25,20 @@ package net.runelite.api.events; import net.runelite.api.World; -import lombok.Value; +import lombok.Data; /** * Event when the world list is loaded for the world switcher */ -@Value +@Data public class WorldListLoad { - private final World[] worlds; + public static final WorldListLoad INSTANCE = new WorldListLoad(); + + private WorldListLoad() + { + // noop + } + + private World[] worlds; } 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 ca25fa84a8..df29fd2c04 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 @@ -87,9 +87,6 @@ public class Hooks implements Callbacks private static final OverlayRenderer renderer = injector.getInstance(OverlayRenderer.class); private static final OverlayManager overlayManager = injector.getInstance(OverlayManager.class); - private static final GameTick GAME_TICK = new GameTick(); - private static final BeforeRender BEFORE_RENDER = new BeforeRender(); - @Inject private EventBus eventBus; @@ -151,13 +148,13 @@ public class Hooks implements Callbacks deferredEventBus.replay(); - eventBus.post(GAME_TICK); + eventBus.post(GameTick.INSTANCE); int tick = client.getTickCount(); client.setTickCount(tick + 1); } - eventBus.post(BEFORE_RENDER); + eventBus.post(BeforeRender.INSTANCE); clientThread.invoke(); @@ -511,7 +508,7 @@ public class Hooks implements Callbacks public static boolean drawMenu() { - BeforeMenuRender event = new BeforeMenuRender(); + BeforeMenuRender event = BeforeMenuRender.INSTANCE; client.getCallbacks().post(event); return event.isConsumed(); } diff --git a/runelite-client/src/main/java/net/runelite/client/chat/CommandManager.java b/runelite-client/src/main/java/net/runelite/client/chat/CommandManager.java index 7529fc6d56..cf5292991e 100644 --- a/runelite-client/src/main/java/net/runelite/client/chat/CommandManager.java +++ b/runelite-client/src/main/java/net/runelite/client/chat/CommandManager.java @@ -114,7 +114,9 @@ public class CommandManager String command = split[0]; String[] args = Arrays.copyOfRange(split, 1, split.length); - CommandExecuted commandExecuted = new CommandExecuted(command, args); + CommandExecuted commandExecuted = CommandExecuted.INSTANCE; + commandExecuted.setCommand(command); + commandExecuted.setArguments(args); eventBus.post(commandExecuted); } diff --git a/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java b/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java index 6c674c1d14..c723bfa326 100644 --- a/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java +++ b/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java @@ -429,7 +429,7 @@ public class MenuManager if (curMenuOption.getMenuTarget().equals(event.getTarget()) && curMenuOption.getMenuOption().equals(event.getOption())) { - WidgetMenuOptionClicked customMenu = new WidgetMenuOptionClicked(); + WidgetMenuOptionClicked customMenu = WidgetMenuOptionClicked.INSTANCE; customMenu.setMenuOption(event.getOption()); customMenu.setMenuTarget(event.getTarget()); customMenu.setWidget(curMenuOption.getWidget()); @@ -444,7 +444,7 @@ public class MenuManager // username (level-42) or username String username = Text.removeTags(target).split("[(]")[0].trim(); - PlayerMenuOptionClicked playerMenuOptionClicked = new PlayerMenuOptionClicked(); + PlayerMenuOptionClicked playerMenuOptionClicked = PlayerMenuOptionClicked.INSTANCE; playerMenuOptionClicked.setMenuOption(event.getOption()); playerMenuOptionClicked.setMenuTarget(username); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java index cc64835acb..9fd09a8ac8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java @@ -258,7 +258,7 @@ public class DevToolsPlugin extends Plugin int value = Integer.parseInt(args[1]); client.setVarpValue(client.getVarps(), varp, value); client.addChatMessage(ChatMessageType.GAMEMESSAGE, "", "Set VarPlayer " + varp + " to " + value, null); - VarbitChanged varbitChanged = new VarbitChanged(); + VarbitChanged varbitChanged = VarbitChanged.INSTANCE; varbitChanged.setIndex(varp); eventBus.post(varbitChanged); // fake event break; @@ -276,7 +276,7 @@ public class DevToolsPlugin extends Plugin int value = Integer.parseInt(args[1]); client.setVarbitValue(client.getVarps(), varbit, value); client.addChatMessage(ChatMessageType.GAMEMESSAGE, "", "Set varbit " + varbit + " to " + value, null); - eventBus.post(new VarbitChanged()); // fake event + eventBus.post(VarbitChanged.INSTANCE); // fake event break; } case "addxp": @@ -293,7 +293,7 @@ public class DevToolsPlugin extends Plugin client.queueChangedSkill(skill); - ExperienceChanged experienceChanged = new ExperienceChanged(); + ExperienceChanged experienceChanged = ExperienceChanged.INSTANCE; experienceChanged.setSkill(skill); eventBus.post(experienceChanged); break; @@ -312,11 +312,11 @@ public class DevToolsPlugin extends Plugin client.queueChangedSkill(skill); - ExperienceChanged experienceChanged = new ExperienceChanged(); + ExperienceChanged experienceChanged = ExperienceChanged.INSTANCE; experienceChanged.setSkill(skill); eventBus.post(experienceChanged); - BoostedLevelChanged boostedLevelChanged = new BoostedLevelChanged(); + BoostedLevelChanged boostedLevelChanged = BoostedLevelChanged.INSTANCE; boostedLevelChanged.setSkill(skill); eventBus.post(boostedLevelChanged); break; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/freezetimers/FreezeTimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/freezetimers/FreezeTimersPlugin.java index e66279aa4d..8ac9d913d7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/freezetimers/FreezeTimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/freezetimers/FreezeTimersPlugin.java @@ -121,7 +121,7 @@ public class FreezeTimersPlugin extends Plugin { if (prayerTracker.getSpotanimLastTick(actor) != actor.getSpotAnimation()) { - SpotAnimationChanged callback = new SpotAnimationChanged(); + SpotAnimationChanged callback = SpotAnimationChanged.INSTANCE; callback.setActor(actor); client.getCallbacks().post(callback); } diff --git a/runelite-client/src/main/java/net/runelite/client/util/GameEventManager.java b/runelite-client/src/main/java/net/runelite/client/util/GameEventManager.java index edaedc856f..94359890e8 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/GameEventManager.java +++ b/runelite-client/src/main/java/net/runelite/client/util/GameEventManager.java @@ -118,7 +118,9 @@ public class GameEventManager if (itemContainer != null) { - eventBus.post(new ItemContainerChanged(itemContainer)); + ItemContainerChanged event = ItemContainerChanged.INSTANCE; + event.setItemContainer(itemContainer); + eventBus.post(event); } } @@ -126,7 +128,8 @@ public class GameEventManager { if (npc != null) { - final NpcSpawned npcSpawned = new NpcSpawned(npc); + final NpcSpawned npcSpawned = NpcSpawned.INSTANCE; + npcSpawned.setNpc(npc); eventBus.post(npcSpawned); } } @@ -135,7 +138,8 @@ public class GameEventManager { if (player != null) { - final PlayerSpawned playerSpawned = new PlayerSpawned(player); + final PlayerSpawned playerSpawned = PlayerSpawned.INSTANCE; + playerSpawned.setPlayer(player); eventBus.post(playerSpawned); } } @@ -144,7 +148,7 @@ public class GameEventManager { Optional.ofNullable(tile.getWallObject()).ifPresent(object -> { - final WallObjectSpawned objectSpawned = new WallObjectSpawned(); + final WallObjectSpawned objectSpawned = WallObjectSpawned.INSTANCE; objectSpawned.setTile(tile); objectSpawned.setWallObject(object); eventBus.post(objectSpawned); @@ -152,7 +156,7 @@ public class GameEventManager Optional.ofNullable(tile.getDecorativeObject()).ifPresent(object -> { - final DecorativeObjectSpawned objectSpawned = new DecorativeObjectSpawned(); + final DecorativeObjectSpawned objectSpawned = DecorativeObjectSpawned.INSTANCE; objectSpawned.setTile(tile); objectSpawned.setDecorativeObject(object); eventBus.post(objectSpawned); @@ -160,7 +164,7 @@ public class GameEventManager Optional.ofNullable(tile.getGroundObject()).ifPresent(object -> { - final GroundObjectSpawned objectSpawned = new GroundObjectSpawned(); + final GroundObjectSpawned objectSpawned = GroundObjectSpawned.INSTANCE; objectSpawned.setTile(tile); objectSpawned.setGroundObject(object); eventBus.post(objectSpawned); @@ -170,7 +174,7 @@ public class GameEventManager .filter(Objects::nonNull) .forEach(object -> { - final GameObjectSpawned objectSpawned = new GameObjectSpawned(); + final GameObjectSpawned objectSpawned = GameObjectSpawned.INSTANCE; objectSpawned.setTile(tile); objectSpawned.setGameObject(object); eventBus.post(objectSpawned); @@ -186,7 +190,9 @@ public class GameEventManager current = current.getNext(); - final ItemSpawned itemSpawned = new ItemSpawned(tile, item); + final ItemSpawned itemSpawned = ItemSpawned.INSTANCE; + itemSpawned.setItem(item); + itemSpawned.setTile(tile); eventBus.post(itemSpawned); } }); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/attackstyles/AttackStylesPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/attackstyles/AttackStylesPluginTest.java index 2060d0d536..6a94e305e1 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/attackstyles/AttackStylesPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/attackstyles/AttackStylesPluginTest.java @@ -93,14 +93,14 @@ public class AttackStylesPluginTest when(client.getVar(VarPlayer.ATTACK_STYLE)).thenReturn(AttackStyle.ACCURATE.ordinal()); // verify that earning xp in a warned skill will display red text on the widget - attackPlugin.onVarbitChanged(new VarbitChanged()); + attackPlugin.onVarbitChanged(VarbitChanged.INSTANCE); assertTrue(attackPlugin.isWarnedSkillSelected()); // Switch to attack style that doesn't give attack xp when(client.getVar(VarPlayer.ATTACK_STYLE)).thenReturn(AttackStyle.AGGRESSIVE.ordinal()); // Verify the widget will now display white text - attackPlugin.onVarbitChanged(new VarbitChanged()); + attackPlugin.onVarbitChanged(VarbitChanged.INSTANCE); warnedSkills = attackPlugin.getWarnedSkills(); assertTrue(warnedSkills.contains(Skill.ATTACK)); assertFalse(attackPlugin.isWarnedSkillSelected()); @@ -129,7 +129,7 @@ public class AttackStylesPluginTest // equip type_4 weapon type on player when(client.getVar(Varbits.EQUIPPED_WEAPON_TYPE)).thenReturn(WeaponType.TYPE_4.ordinal()); - attackPlugin.onVarbitChanged(new VarbitChanged()); + attackPlugin.onVarbitChanged(VarbitChanged.INSTANCE); // Verify there is a warned skill Set warnedSkills = attackPlugin.getWarnedSkills(); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/cerberus/CerberusPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/cerberus/CerberusPluginTest.java index 4f35f7b174..daac7907de 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/cerberus/CerberusPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/cerberus/CerberusPluginTest.java @@ -71,7 +71,7 @@ public class CerberusPluginTest mockNpc(new LocalPoint(2, 5)), mockNpc(new LocalPoint(1, 5)) )); - cerberusPlugin.onGameTick(new GameTick()); + cerberusPlugin.onGameTick(GameTick.INSTANCE); // Expected sort is by lowest y first, then by lowest x assertEquals(ghosts.get(0).getLocalLocation(), new LocalPoint(0, 0)); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPluginTest.java index c30c8a4e9e..58cf5ac99e 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPluginTest.java @@ -83,7 +83,7 @@ public class ChatNotificationsPluginTest MessageNode messageNode = mock(MessageNode.class); when(messageNode.getValue()).thenReturn("Deathbeam, Deathbeam OSRS"); - ChatMessage chatMessage = new ChatMessage(); + ChatMessage chatMessage = ChatMessage.INSTANCE; chatMessage.setType(ChatMessageType.PUBLICCHAT); chatMessage.setMessageNode(messageNode); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/cooking/CookingPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/cooking/CookingPluginTest.java index 6b8334e99d..f05a53c8f9 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/cooking/CookingPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/cooking/CookingPluginTest.java @@ -118,7 +118,7 @@ public class CookingPluginTest when(config.fermentTimer()).thenReturn(true); when(client.getLocalPlayer()).thenReturn(player); - SpotAnimationChanged graphicChanged = new SpotAnimationChanged(); + SpotAnimationChanged graphicChanged = SpotAnimationChanged.INSTANCE; graphicChanged.setActor(player); cookingPlugin.onSpotAnimationChanged(graphicChanged); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/emojis/EmojiPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/emojis/EmojiPluginTest.java index 3427246946..ebf58ca625 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/emojis/EmojiPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/emojis/EmojiPluginTest.java @@ -73,7 +73,7 @@ public class EmojiPluginTest when(client.createIndexedSprite()).thenReturn(mock(IndexedSprite.class)); // Trip emoji loading - GameStateChanged gameStateChanged = new GameStateChanged(); + GameStateChanged gameStateChanged = GameStateChanged.INSTANCE; gameStateChanged.setGameState(GameState.LOGGED_IN); emojiPlugin.onGameStateChanged(gameStateChanged); @@ -81,7 +81,7 @@ public class EmojiPluginTest // With chat recolor, message may be wrapped in col tags when(messageNode.getValue()).thenReturn(":) :) :)"); - ChatMessage chatMessage = new ChatMessage(); + ChatMessage chatMessage = ChatMessage.INSTANCE; chatMessage.setType(ChatMessageType.PUBLICCHAT); chatMessage.setMessageNode(messageNode); @@ -98,14 +98,14 @@ public class EmojiPluginTest when(client.createIndexedSprite()).thenReturn(mock(IndexedSprite.class)); // Trip emoji loading - GameStateChanged gameStateChanged = new GameStateChanged(); + GameStateChanged gameStateChanged = GameStateChanged.INSTANCE; gameStateChanged.setGameState(GameState.LOGGED_IN); emojiPlugin.onGameStateChanged(gameStateChanged); MessageNode messageNode = mock(MessageNode.class); when(messageNode.getValue()).thenReturn(":D"); - ChatMessage chatMessage = new ChatMessage(); + ChatMessage chatMessage = ChatMessage.INSTANCE; chatMessage.setType(ChatMessageType.PUBLICCHAT); chatMessage.setMessageNode(messageNode); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPluginTest.java index 51dc7842e0..b8373c81b3 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPluginTest.java @@ -132,13 +132,13 @@ public class IdleNotifierPluginTest public void checkAnimationIdle() { when(player.getAnimation()).thenReturn(AnimationID.WOODCUTTING_BRONZE); - AnimationChanged animationChanged = new AnimationChanged(); + AnimationChanged animationChanged = AnimationChanged.INSTANCE; animationChanged.setActor(player); plugin.onAnimationChanged(animationChanged); - plugin.onGameTick(new GameTick()); + plugin.onGameTick(GameTick.INSTANCE); when(player.getAnimation()).thenReturn(AnimationID.IDLE); plugin.onAnimationChanged(animationChanged); - plugin.onGameTick(new GameTick()); + plugin.onGameTick(GameTick.INSTANCE); verify(notifier).notify("[" + PLAYER_NAME + "] is now idle!"); } @@ -146,16 +146,16 @@ public class IdleNotifierPluginTest public void checkAnimationReset() { when(player.getAnimation()).thenReturn(AnimationID.WOODCUTTING_BRONZE); - AnimationChanged animationChanged = new AnimationChanged(); + AnimationChanged animationChanged = AnimationChanged.INSTANCE; animationChanged.setActor(player); plugin.onAnimationChanged(animationChanged); - plugin.onGameTick(new GameTick()); + plugin.onGameTick(GameTick.INSTANCE); when(player.getAnimation()).thenReturn(AnimationID.LOOKING_INTO); plugin.onAnimationChanged(animationChanged); - plugin.onGameTick(new GameTick()); + plugin.onGameTick(GameTick.INSTANCE); when(player.getAnimation()).thenReturn(AnimationID.IDLE); plugin.onAnimationChanged(animationChanged); - plugin.onGameTick(new GameTick()); + plugin.onGameTick(GameTick.INSTANCE); verify(notifier, times(0)).notify(any()); } @@ -163,14 +163,14 @@ public class IdleNotifierPluginTest public void checkAnimationLogout() { when(player.getAnimation()).thenReturn(AnimationID.WOODCUTTING_BRONZE); - AnimationChanged animationChanged = new AnimationChanged(); + AnimationChanged animationChanged = AnimationChanged.INSTANCE; animationChanged.setActor(player); plugin.onAnimationChanged(animationChanged); - plugin.onGameTick(new GameTick()); + plugin.onGameTick(GameTick.INSTANCE); // Logout when(client.getGameState()).thenReturn(GameState.LOGIN_SCREEN); - GameStateChanged gameStateChanged = new GameStateChanged(); + GameStateChanged gameStateChanged = GameStateChanged.INSTANCE; gameStateChanged.setGameState(GameState.LOGIN_SCREEN); plugin.onGameStateChanged(gameStateChanged); @@ -182,7 +182,7 @@ public class IdleNotifierPluginTest // Tick when(player.getAnimation()).thenReturn(AnimationID.IDLE); plugin.onAnimationChanged(animationChanged); - plugin.onGameTick(new GameTick()); + plugin.onGameTick(GameTick.INSTANCE); verify(notifier, times(0)).notify(any()); } @@ -190,11 +190,16 @@ public class IdleNotifierPluginTest public void checkCombatIdle() { when(player.getInteracting()).thenReturn(monster); - plugin.onInteractingChanged(new InteractingChanged(player, monster)); - plugin.onGameTick(new GameTick()); + InteractingChanged event = InteractingChanged.INSTANCE; + event.setSource(player); + event.setTarget(monster); + plugin.onInteractingChanged(event); + plugin.onGameTick(GameTick.INSTANCE); when(player.getInteracting()).thenReturn(null); - plugin.onInteractingChanged(new InteractingChanged(player, null)); - plugin.onGameTick(new GameTick()); + event.setSource(player); + event.setTarget(null); + plugin.onInteractingChanged(event); + plugin.onGameTick(GameTick.INSTANCE); verify(notifier).notify("[" + PLAYER_NAME + "] is now out of combat!"); } @@ -202,27 +207,37 @@ public class IdleNotifierPluginTest public void checkCombatReset() { when(player.getInteracting()).thenReturn(monster); - plugin.onInteractingChanged(new InteractingChanged(player, monster)); - plugin.onGameTick(new GameTick()); + InteractingChanged event = InteractingChanged.INSTANCE; + event.setSource(player); + event.setTarget(monster); + plugin.onInteractingChanged(event); + plugin.onGameTick(GameTick.INSTANCE); when(player.getInteracting()).thenReturn(randomEvent); - plugin.onInteractingChanged(new InteractingChanged(player, randomEvent)); - plugin.onGameTick(new GameTick()); + event.setSource(player); + event.setTarget(randomEvent); + plugin.onInteractingChanged(event); + plugin.onGameTick(GameTick.INSTANCE); when(player.getInteracting()).thenReturn(null); - plugin.onInteractingChanged(new InteractingChanged(player, null)); - plugin.onGameTick(new GameTick()); + event.setSource(player); + event.setTarget(null); + plugin.onInteractingChanged(event); + plugin.onGameTick(GameTick.INSTANCE); verify(notifier, times(0)).notify(any()); } @Test public void checkCombatLogout() { - plugin.onInteractingChanged(new InteractingChanged(player, monster)); + InteractingChanged event = InteractingChanged.INSTANCE; + event.setSource(player); + event.setTarget(monster); + plugin.onInteractingChanged(event); when(player.getInteracting()).thenReturn(monster); - plugin.onGameTick(new GameTick()); + plugin.onGameTick(GameTick.INSTANCE); // Logout when(client.getGameState()).thenReturn(GameState.LOGIN_SCREEN); - GameStateChanged gameStateChanged = new GameStateChanged(); + GameStateChanged gameStateChanged = GameStateChanged.INSTANCE; gameStateChanged.setGameState(GameState.LOGIN_SCREEN); plugin.onGameStateChanged(gameStateChanged); @@ -233,8 +248,10 @@ public class IdleNotifierPluginTest // Tick when(player.getInteracting()).thenReturn(null); - plugin.onInteractingChanged(new InteractingChanged(player, null)); - plugin.onGameTick(new GameTick()); + event.setSource(player); + event.setTarget(null); + plugin.onInteractingChanged(event); + plugin.onGameTick(GameTick.INSTANCE); verify(notifier, times(0)).notify(any()); } @@ -245,11 +262,11 @@ public class IdleNotifierPluginTest when(client.getMouseIdleTicks()).thenReturn(80_000); // But player is being damaged (is in combat) - final HitsplatApplied hitsplatApplied = new HitsplatApplied(); + final HitsplatApplied hitsplatApplied = HitsplatApplied.INSTANCE; hitsplatApplied.setActor(player); hitsplatApplied.setHitsplat(new Hitsplat(Hitsplat.HitsplatType.DAMAGE, 0, 0)); plugin.onHitsplatApplied(hitsplatApplied); - plugin.onGameTick(new GameTick()); + plugin.onGameTick(GameTick.INSTANCE); verify(notifier, times(0)).notify(any()); } @@ -262,8 +279,8 @@ public class IdleNotifierPluginTest when(client.getKeyboardIdleTicks()).thenReturn(80_000); when(client.getMouseIdleTicks()).thenReturn(14_500); - plugin.onGameTick(new GameTick()); - plugin.onGameTick(new GameTick()); + plugin.onGameTick(GameTick.INSTANCE); + plugin.onGameTick(GameTick.INSTANCE); verify(notifier, times(1)).notify(any()); } @@ -273,11 +290,11 @@ public class IdleNotifierPluginTest when(config.getSpecEnergyThreshold()).thenReturn(50); when(client.getVar(Matchers.eq(VarPlayer.SPECIAL_ATTACK_PERCENT))).thenReturn(400); // 40% - plugin.onGameTick(new GameTick()); // once to set lastSpecEnergy to 400 + plugin.onGameTick(GameTick.INSTANCE); // once to set lastSpecEnergy to 400 verify(notifier, never()).notify(any()); when(client.getVar(Matchers.eq(VarPlayer.SPECIAL_ATTACK_PERCENT))).thenReturn(500); // 50% - plugin.onGameTick(new GameTick()); + plugin.onGameTick(GameTick.INSTANCE); verify(notifier).notify(Matchers.eq("[" + PLAYER_NAME + "] has restored spec energy!")); } } \ No newline at end of file diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/motherlode/MotherlodePluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/motherlode/MotherlodePluginTest.java index 7f4c3bcbb0..3e00ae7b6d 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/motherlode/MotherlodePluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/motherlode/MotherlodePluginTest.java @@ -115,13 +115,13 @@ public class MotherlodePluginTest public void testOreCounter() { // set inMlm - GameStateChanged gameStateChanged = new GameStateChanged(); + GameStateChanged gameStateChanged = GameStateChanged.INSTANCE; gameStateChanged.setGameState(GameState.LOGGED_IN); motherlodePlugin.onGameStateChanged(gameStateChanged); // Initial sack count when(client.getVar(Varbits.SACK_NUMBER)).thenReturn(42); - motherlodePlugin.onVarbitChanged(new VarbitChanged()); + motherlodePlugin.onVarbitChanged(VarbitChanged.INSTANCE); // Create before inventory ItemContainer inventory = mock(ItemContainer.class); @@ -140,7 +140,7 @@ public class MotherlodePluginTest // Withdraw 20 when(client.getVar(Varbits.SACK_NUMBER)).thenReturn(22); - motherlodePlugin.onVarbitChanged(new VarbitChanged()); + motherlodePlugin.onVarbitChanged(VarbitChanged.INSTANCE); inventory = mock(ItemContainer.class); // +1 rune, +4 nugget, +2 coal, +1 addy @@ -162,7 +162,9 @@ public class MotherlodePluginTest when(client.getItemContainer(InventoryID.INVENTORY)).thenReturn(inventory); // Trigger comparison - motherlodePlugin.onItemContainerChanged(new ItemContainerChanged(inventory)); + ItemContainerChanged event = ItemContainerChanged.INSTANCE; + event.setItemContainer(inventory); + motherlodePlugin.onItemContainerChanged(event); verify(motherlodeSession).updateOreFound(ItemID.RUNITE_ORE, 1); verify(motherlodeSession).updateOreFound(ItemID.GOLDEN_NUGGET, 4); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java index 9aff61c346..9efc27c57e 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java @@ -175,11 +175,11 @@ public class ScreenshotPluginTest assertEquals("Hitpoints(99)", screenshotPlugin.parseLevelUpWidget(LEVEL_UP_LEVEL)); - WidgetLoaded event = new WidgetLoaded(); + WidgetLoaded event = WidgetLoaded.INSTANCE; event.setGroupId(LEVEL_UP_GROUP_ID); screenshotPlugin.onWidgetLoaded(event); - GameTick tick = new GameTick(); + GameTick tick = GameTick.INSTANCE; screenshotPlugin.onGameTick(tick); verify(drawManager).requestNextFrameListener(Matchers.any(Consumer.class)); @@ -198,11 +198,11 @@ public class ScreenshotPluginTest assertEquals("Firemaking(9)", screenshotPlugin.parseLevelUpWidget(LEVEL_UP_LEVEL)); - WidgetLoaded event = new WidgetLoaded(); + WidgetLoaded event = WidgetLoaded.INSTANCE; event.setGroupId(LEVEL_UP_GROUP_ID); screenshotPlugin.onWidgetLoaded(event); - GameTick tick = new GameTick(); + GameTick tick = GameTick.INSTANCE; screenshotPlugin.onGameTick(tick); verify(drawManager).requestNextFrameListener(Matchers.any(Consumer.class)); @@ -221,11 +221,11 @@ public class ScreenshotPluginTest assertEquals("Attack(70)", screenshotPlugin.parseLevelUpWidget(LEVEL_UP_LEVEL)); - WidgetLoaded event = new WidgetLoaded(); + WidgetLoaded event = WidgetLoaded.INSTANCE; event.setGroupId(LEVEL_UP_GROUP_ID); screenshotPlugin.onWidgetLoaded(event); - GameTick tick = new GameTick(); + GameTick tick = GameTick.INSTANCE; screenshotPlugin.onGameTick(tick); verify(drawManager).requestNextFrameListener(Matchers.any(Consumer.class)); @@ -244,11 +244,11 @@ public class ScreenshotPluginTest assertEquals("Hunter(2)", screenshotPlugin.parseLevelUpWidget(DIALOG_SPRITE_TEXT)); - WidgetLoaded event = new WidgetLoaded(); + WidgetLoaded event = WidgetLoaded.INSTANCE; event.setGroupId(DIALOG_SPRITE_GROUP_ID); screenshotPlugin.onWidgetLoaded(event); - GameTick tick = new GameTick(); + GameTick tick = GameTick.INSTANCE; screenshotPlugin.onGameTick(tick); verify(drawManager).requestNextFrameListener(Matchers.any(Consumer.class)); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java index 099a76d19b..c339b1de6e 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java @@ -155,7 +155,7 @@ public class SlayerPluginTest Widget npcDialog = mock(Widget.class); when(npcDialog.getText()).thenReturn(TASK_NEW); when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog); - slayerPlugin.onGameTick(new GameTick()); + slayerPlugin.onGameTick(GameTick.INSTANCE); assertEquals("Suqahs", slayerPlugin.getCurrentTask().getTaskName()); assertEquals(231, slayerPlugin.getCurrentTask().getAmount()); @@ -167,7 +167,7 @@ public class SlayerPluginTest Widget npcDialog = mock(Widget.class); when(npcDialog.getText()).thenReturn(TASK_NEW_KONAR); when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog); - slayerPlugin.onGameTick(new GameTick()); + slayerPlugin.onGameTick(GameTick.INSTANCE); assertEquals("Wyrms", slayerPlugin.getCurrentTask().getTaskName()); assertEquals(147, slayerPlugin.getCurrentTask().getAmount()); @@ -180,7 +180,7 @@ public class SlayerPluginTest Widget npcDialog = mock(Widget.class); when(npcDialog.getText()).thenReturn(TASK_NEW_KONAR_2); when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog); - slayerPlugin.onGameTick(new GameTick()); + slayerPlugin.onGameTick(GameTick.INSTANCE); assertEquals("Hellhounds", slayerPlugin.getCurrentTask().getTaskName()); assertEquals(142, slayerPlugin.getCurrentTask().getAmount()); @@ -193,7 +193,7 @@ public class SlayerPluginTest Widget npcDialog = mock(Widget.class); when(npcDialog.getText()).thenReturn(TASK_NEW_KONAR_3); when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog); - slayerPlugin.onGameTick(new GameTick()); + slayerPlugin.onGameTick(GameTick.INSTANCE); assertEquals("Trolls", slayerPlugin.getCurrentTask().getTaskName()); assertEquals(135, slayerPlugin.getCurrentTask().getAmount()); @@ -206,7 +206,7 @@ public class SlayerPluginTest Widget npcDialog = mock(Widget.class); when(npcDialog.getText()).thenReturn(TASK_NEW_FIRST); when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog); - slayerPlugin.onGameTick(new GameTick()); + slayerPlugin.onGameTick(GameTick.INSTANCE); assertEquals("goblins", slayerPlugin.getCurrentTask().getTaskName()); assertEquals(17, slayerPlugin.getCurrentTask().getAmount()); @@ -218,7 +218,7 @@ public class SlayerPluginTest Widget npcDialog = mock(Widget.class); when(npcDialog.getText()).thenReturn(TASK_NEW_NPC_CONTACT); when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog); - slayerPlugin.onGameTick(new GameTick()); + slayerPlugin.onGameTick(GameTick.INSTANCE); assertEquals("Suqahs", slayerPlugin.getCurrentTask().getTaskName()); assertEquals(211, slayerPlugin.getCurrentTask().getAmount()); @@ -230,7 +230,7 @@ public class SlayerPluginTest Widget npcDialog = mock(Widget.class); when(npcDialog.getText()).thenReturn(TASK_BOSS_NEW); when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog); - slayerPlugin.onGameTick(new GameTick()); + slayerPlugin.onGameTick(GameTick.INSTANCE); assertEquals("Vet'ion", slayerPlugin.getCurrentTask().getTaskName()); assertEquals(3, slayerPlugin.getCurrentTask().getAmount()); @@ -243,7 +243,7 @@ public class SlayerPluginTest Widget npcDialog = mock(Widget.class); when(npcDialog.getText()).thenReturn(TASK_BOSS_NEW_THE); when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog); - slayerPlugin.onGameTick(new GameTick()); + slayerPlugin.onGameTick(GameTick.INSTANCE); assertEquals("Chaos Elemental", slayerPlugin.getCurrentTask().getTaskName()); assertEquals(3, slayerPlugin.getCurrentTask().getAmount()); @@ -296,7 +296,7 @@ public class SlayerPluginTest Widget npcDialog = mock(Widget.class); when(npcDialog.getText()).thenReturn(TASK_EXISTING); when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog); - slayerPlugin.onGameTick(new GameTick()); + slayerPlugin.onGameTick(GameTick.INSTANCE); assertEquals("suqahs", slayerPlugin.getCurrentTask().getTaskName()); assertEquals(222, slayerPlugin.getCurrentTask().getAmount()); @@ -331,7 +331,7 @@ public class SlayerPluginTest ChatMessage chatMessageEvent = new ChatMessage(null, GAMEMESSAGE, "Perterter", TASK_POINTS, null, 0); slayerPlugin.onChatMessage(chatMessageEvent); - VarbitChanged varbitChanged = new VarbitChanged(); + VarbitChanged varbitChanged = VarbitChanged.INSTANCE; slayerPlugin.onVarbitChanged(varbitChanged); assertEquals(9, slayerPlugin.getStreak()); @@ -347,7 +347,7 @@ public class SlayerPluginTest ChatMessage chatMessageEvent = new ChatMessage(null, GAMEMESSAGE, "Perterter", TASK_LARGE_STREAK, null, 0); slayerPlugin.onChatMessage(chatMessageEvent); - VarbitChanged varbitChanged = new VarbitChanged(); + VarbitChanged varbitChanged = VarbitChanged.INSTANCE; slayerPlugin.onVarbitChanged(varbitChanged); assertEquals(2465, slayerPlugin.getStreak()); @@ -408,7 +408,7 @@ public class SlayerPluginTest when(slayerConfig.taskCommand()).thenReturn(true); when(chatClient.getTask(anyString())).thenReturn(task); - ChatMessage setMessage = new ChatMessage(); + ChatMessage setMessage = ChatMessage.INSTANCE; setMessage.setType(ChatMessageType.PUBLICCHAT); setMessage.setName("Adam"); setMessage.setMessageNode(mock(MessageNode.class)); @@ -430,7 +430,7 @@ public class SlayerPluginTest when(slayerConfig.taskCommand()).thenReturn(true); when(chatClient.getTask(anyString())).thenReturn(task); - ChatMessage chatMessage = new ChatMessage(); + ChatMessage chatMessage = ChatMessage.INSTANCE; chatMessage.setType(ChatMessageType.PUBLICCHAT); chatMessage.setName("Adam"); chatMessage.setMessageNode(mock(MessageNode.class)); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSActorMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSActorMixin.java index f25c98e263..113e6a77cc 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSActorMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSActorMixin.java @@ -186,7 +186,7 @@ public abstract class RSActorMixin implements RSActor @Inject public void animationChanged(int idx) { - AnimationChanged animationChange = new AnimationChanged(); + AnimationChanged animationChange = AnimationChanged.INSTANCE; animationChange.setActor(this); client.getCallbacks().post(animationChange); } @@ -195,7 +195,7 @@ public abstract class RSActorMixin implements RSActor @Inject public void spotAnimationChanged(int idx) { - SpotAnimationChanged spotAnimationChanged = new SpotAnimationChanged(); + SpotAnimationChanged spotAnimationChanged = SpotAnimationChanged.INSTANCE; spotAnimationChanged.setActor(this); client.getCallbacks().post(spotAnimationChanged); } @@ -204,7 +204,9 @@ public abstract class RSActorMixin implements RSActor @Inject public void interactingChanged(int idx) { - InteractingChanged interactingChanged = new InteractingChanged(this, getInteracting()); + InteractingChanged interactingChanged = InteractingChanged.INSTANCE; + interactingChanged.setSource(this); + interactingChanged.setTarget(getInteracting()); client.getCallbacks().post(interactingChanged); } @@ -215,7 +217,10 @@ public abstract class RSActorMixin implements RSActor String overheadText = getOverheadText(); if (overheadText != null) { - OverheadTextChanged overheadTextChanged = new OverheadTextChanged(this, overheadText); + + OverheadTextChanged overheadTextChanged = OverheadTextChanged.INSTANCE; + overheadTextChanged.setActor(this); + overheadTextChanged.setOverheadText(overheadText); client.getCallbacks().post(overheadTextChanged); } } @@ -251,7 +256,7 @@ public abstract class RSActorMixin implements RSActor { client.getLogger().debug("You died!"); - LocalPlayerDeath event = new LocalPlayerDeath(); + LocalPlayerDeath event = LocalPlayerDeath.INSTANCE; client.getCallbacks().post(event); } else if (this instanceof RSNPC) @@ -278,7 +283,7 @@ public abstract class RSActorMixin implements RSActor public void applyActorHitsplat(int type, int value, int var3, int var4, int gameCycle, int duration) { final Hitsplat hitsplat = new Hitsplat(Hitsplat.HitsplatType.fromInteger(type), value, gameCycle + duration); - final HitsplatApplied event = new HitsplatApplied(); + final HitsplatApplied event = HitsplatApplied.INSTANCE; event.setActor(this); event.setHitsplat(hitsplat); client.getCallbacks().post(event); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClanChatMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClanChatMixin.java index beacf0eec4..c829abf231 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClanChatMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClanChatMixin.java @@ -27,7 +27,8 @@ public abstract class RSClanChatMixin implements RSClanChat return; } - ClanMemberJoined event = new ClanMemberJoined(member); + ClanMemberJoined event = ClanMemberJoined.INSTANCE; + event.setMember(member); client.getCallbacks().postDeferred(event); } @@ -41,7 +42,8 @@ public abstract class RSClanChatMixin implements RSClanChat return; } - ClanMemberLeft event = new ClanMemberLeft(member); + ClanMemberLeft event = ClanMemberLeft.INSTANCE; + event.setMember(member); client.getCallbacks().postDeferred(event); } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 069c9a99d4..762dd86fa5 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -867,7 +867,7 @@ public abstract class RSClientMixin implements RSClient @Inject public static void draggingWidgetChanged(int idx) { - DraggingWidgetChanged draggingWidgetChanged = new DraggingWidgetChanged(); + DraggingWidgetChanged draggingWidgetChanged = DraggingWidgetChanged.INSTANCE; draggingWidgetChanged.setDraggingWidget(client.isDraggingWidget()); client.getCallbacks().post(draggingWidgetChanged); } @@ -905,7 +905,7 @@ public abstract class RSClientMixin implements RSClient if (loaded) { - WidgetLoaded event = new WidgetLoaded(); + WidgetLoaded event = WidgetLoaded.INSTANCE; event.setGroupId(groupId); client.getCallbacks().post(event); } @@ -937,7 +937,7 @@ public abstract class RSClientMixin implements RSClient @Inject public static void experiencedChanged(int idx) { - ExperienceChanged experienceChanged = new ExperienceChanged(); + ExperienceChanged experienceChanged = ExperienceChanged.INSTANCE; Skill[] possibleSkills = Skill.values(); // We subtract one here because 'Overall' isn't considered a skill that's updated. @@ -958,7 +958,7 @@ public abstract class RSClientMixin implements RSClient if (idx >= 0 && idx < skills.length - 1) { Skill updatedSkill = skills[idx]; - BoostedLevelChanged boostedLevelChanged = new BoostedLevelChanged(); + BoostedLevelChanged boostedLevelChanged = BoostedLevelChanged.INSTANCE; boostedLevelChanged.setSkill(updatedSkill); client.getCallbacks().post(boostedLevelChanged); } @@ -977,7 +977,7 @@ public abstract class RSClientMixin implements RSClient client.getPlayerMenuTypes()[idx] = playerAction.getId(); } - PlayerMenuOptionsChanged optionsChanged = new PlayerMenuOptionsChanged(); + PlayerMenuOptionsChanged optionsChanged = PlayerMenuOptionsChanged.INSTANCE; optionsChanged.setIndex(idx); client.getCallbacks().post(optionsChanged); } @@ -986,7 +986,7 @@ public abstract class RSClientMixin implements RSClient @Inject public static void gameStateChanged(int idx) { - GameStateChanged gameStateChange = new GameStateChanged(); + GameStateChanged gameStateChange = GameStateChanged.INSTANCE; gameStateChange.setGameState(client.getGameState()); client.getCallbacks().post(gameStateChange); } @@ -1007,7 +1007,9 @@ public abstract class RSClientMixin implements RSClient { npc.setIndex(idx); - client.getCallbacks().postDeferred(new NpcSpawned(npc)); + NpcSpawned npcSpawned = NpcSpawned.INSTANCE; + npcSpawned.setNpc(npc); + client.getCallbacks().postDeferred(npcSpawned); } } @@ -1027,11 +1029,15 @@ public abstract class RSClientMixin implements RSClient if (oldPlayer != null) { - client.getCallbacks().post(new PlayerDespawned(oldPlayer)); + PlayerDespawned playerDespawned = PlayerDespawned.INSTANCE; + playerDespawned.setPlayer(oldPlayer); + client.getCallbacks().post(playerDespawned); } if (player != null) { - client.getCallbacks().postDeferred(new PlayerSpawned(player)); + PlayerSpawned playerSpawned = PlayerSpawned.INSTANCE; + playerSpawned.setPlayer(player); + client.getCallbacks().postDeferred(playerSpawned); } } @@ -1051,7 +1057,7 @@ public abstract class RSClientMixin implements RSClient return; } - GrandExchangeOfferChanged offerChangedEvent = new GrandExchangeOfferChanged(); + GrandExchangeOfferChanged offerChangedEvent = GrandExchangeOfferChanged.INSTANCE; offerChangedEvent.setOffer(internalOffer); offerChangedEvent.setSlot(idx); client.getCallbacks().post(offerChangedEvent); @@ -1061,7 +1067,7 @@ public abstract class RSClientMixin implements RSClient @Inject public static void settingsChanged(int idx) { - VarbitChanged varbitChanged = new VarbitChanged(); + VarbitChanged varbitChanged = VarbitChanged.INSTANCE; varbitChanged.setIndex(idx); client.getCallbacks().post(varbitChanged); } @@ -1075,7 +1081,7 @@ public abstract class RSClientMixin implements RSClient if (oldIsResized != isResized) { - ResizeableChanged resizeableChanged = new ResizeableChanged(); + ResizeableChanged resizeableChanged = ResizeableChanged.INSTANCE; resizeableChanged.setResized(isResized); client.getCallbacks().post(resizeableChanged); @@ -1087,7 +1093,9 @@ public abstract class RSClientMixin implements RSClient @Inject public static void clanMemberManagerChanged(int idx) { - client.getCallbacks().post(new ClanChanged(client.getClanMemberManager() != null)); + ClanChanged event = ClanChanged.INSTANCE; + event.setJoined(client.getClanMemberManager() != null); + client.getCallbacks().post(event); } @FieldHook("canvasWidth") @@ -1271,7 +1279,7 @@ public abstract class RSClientMixin implements RSClient @Inject public static void onUsernameChanged(int idx) { - client.getCallbacks().post(new UsernameChanged()); + client.getCallbacks().post(UsernameChanged.INSTANCE); } @Override @@ -1300,7 +1308,7 @@ public abstract class RSClientMixin implements RSClient @MethodHook("openMenu") public void menuOpened(int var1, int var2) { - final MenuOpened event = new MenuOpened(); + final MenuOpened event = MenuOpened.INSTANCE; event.setMenuEntries(getMenuEntries()); callbacks.post(event); } @@ -1513,7 +1521,7 @@ public abstract class RSClientMixin implements RSClient @FieldHook("cycleCntr") public static void onCycleCntrChanged(int idx) { - client.getCallbacks().post(new ClientTick()); + client.getCallbacks().post(ClientTick.INSTANCE); } @Copy("shouldLeftClickOpenMenu") @@ -1530,7 +1538,7 @@ public abstract class RSClientMixin implements RSClient return true; } - MenuShouldLeftClick menuShouldLeftClick = new MenuShouldLeftClick(); + MenuShouldLeftClick menuShouldLeftClick = MenuShouldLeftClick.INSTANCE; client.getCallbacks().post(menuShouldLeftClick); if (menuShouldLeftClick.isForceRightClick()) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSFriendSystemMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSFriendSystemMixin.java index 7497e7c2a5..6a495d7fd6 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSFriendSystemMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSFriendSystemMixin.java @@ -18,7 +18,8 @@ public abstract class RSFriendSystemMixin implements RSFriendSystem @Inject public void rl$removeFriend(String friendName) { - RemovedFriend removedFriend = new RemovedFriend(friendName); + RemovedFriend removedFriend = RemovedFriend.INSTANCE; + removedFriend.setName(friendName); client.getCallbacks().post(removedFriend); } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSGraphicsObjectMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSGraphicsObjectMixin.java index c7757732ba..3fe720a8ab 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSGraphicsObjectMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSGraphicsObjectMixin.java @@ -17,7 +17,8 @@ public abstract class RSGraphicsObjectMixin implements RSGraphicsObject @Inject RSGraphicsObjectMixin() { - final GraphicsObjectCreated event = new GraphicsObjectCreated(this); + final GraphicsObjectCreated event = GraphicsObjectCreated.INSTANCE; + event.setGraphicsObject(this); client.getCallbacks().post(event); } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSGroundItemMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSGroundItemMixin.java index 23d0ce6586..078ca652e7 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSGroundItemMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSGroundItemMixin.java @@ -66,7 +66,12 @@ public abstract class RSGroundItemMixin implements RSGroundItem { client.getLogger().debug("Item quantity changed: {} ({} -> {})", getId(), getQuantity(), quantity); - ItemQuantityChanged itemQuantityChanged = new ItemQuantityChanged(this, getTile(), getQuantity(), quantity); + ItemQuantityChanged itemQuantityChanged = ItemQuantityChanged.INSTANCE; + itemQuantityChanged.setItem(this); + itemQuantityChanged.setTile(getTile()); + itemQuantityChanged.setOldQuantity(getQuantity()); + itemQuantityChanged.setNewQuantity(quantity); + client.getCallbacks().post(itemQuantityChanged); } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSHealthBarDefinitionMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSHealthBarDefinitionMixin.java index f6f31abdf6..f7143c4fd1 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSHealthBarDefinitionMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSHealthBarDefinitionMixin.java @@ -19,7 +19,7 @@ public abstract class RSHealthBarDefinitionMixin implements RSHealthBarDefinitio @Inject public void onRead(RSBuffer buffer) { - PostHealthBar postHealthBar = new PostHealthBar(); + PostHealthBar postHealthBar = PostHealthBar.INSTANCE; postHealthBar.setHealthBar(this); client.getCallbacks().post(postHealthBar); } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSItemContainerMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSItemContainerMixin.java index 74c1bf29a3..21cd6e9c72 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSItemContainerMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSItemContainerMixin.java @@ -75,7 +75,8 @@ public abstract class RSItemContainerMixin implements RSItemContainer rl$lastCycle = cycle; - ItemContainerChanged event = new ItemContainerChanged(this); + ItemContainerChanged event = ItemContainerChanged.INSTANCE; + event.setItemContainer(this); client.getCallbacks().postDeferred(event); } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSItemDefinitionMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSItemDefinitionMixin.java index 68105f05bc..763dfcb0d6 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSItemDefinitionMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSItemDefinitionMixin.java @@ -60,7 +60,7 @@ public abstract class RSItemDefinitionMixin implements RSItemDefinition @MethodHook(value = "post", end = true) public void post() { - final PostItemDefinition event = new PostItemDefinition(); + final PostItemDefinition event = PostItemDefinition.INSTANCE; event.setItemDefinition(this); client.getCallbacks().post(event); } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCDefinitionMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCDefinitionMixin.java index 07d16f949a..9c1d646c62 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCDefinitionMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCDefinitionMixin.java @@ -42,7 +42,7 @@ public abstract class RSNPCDefinitionMixin implements RSNPCDefinition @Inject public void actionsHook(int idx) { - NpcActionChanged npcActionChanged = new NpcActionChanged(); + NpcActionChanged npcActionChanged = NpcActionChanged.INSTANCE; npcActionChanged.setNpcDefinition(this); npcActionChanged.setIdx(idx); client.getCallbacks().post(npcActionChanged); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java index ea0f74f93c..c9d2b0657b 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java @@ -109,7 +109,9 @@ public abstract class RSNPCMixin implements RSNPC { if (composition == null) { - client.getCallbacks().post(new NpcDespawned(this)); + NpcDespawned event = NpcDespawned.INSTANCE; + event.setNpc(this); + client.getCallbacks().post(event); } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSProjectileMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSProjectileMixin.java index 1c10eeb835..221a81642f 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSProjectileMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSProjectileMixin.java @@ -46,7 +46,7 @@ public abstract class RSProjectileMixin implements RSProjectile @Inject RSProjectileMixin() { - final ProjectileSpawned projectileSpawned = new ProjectileSpawned(); + final ProjectileSpawned projectileSpawned = ProjectileSpawned.INSTANCE; projectileSpawned.setProjectile(this); client.getCallbacks().post(projectileSpawned); } @@ -105,7 +105,7 @@ public abstract class RSProjectileMixin implements RSProjectile public void projectileMoved(int targetX, int targetY, int targetZ, int cycle) { final LocalPoint position = new LocalPoint(targetX, targetY); - final ProjectileMoved projectileMoved = new ProjectileMoved(); + final ProjectileMoved projectileMoved = ProjectileMoved.INSTANCE; projectileMoved.setProjectile(this); projectileMoved.setPosition(position); projectileMoved.setZ(targetZ); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java index ed17140360..34b624cf88 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java @@ -126,21 +126,21 @@ public abstract class RSTileMixin implements RSTile if (current == null && previous != null) { - WallObjectDespawned wallObjectDespawned = new WallObjectDespawned(); + WallObjectDespawned wallObjectDespawned = WallObjectDespawned.INSTANCE; wallObjectDespawned.setTile(this); wallObjectDespawned.setWallObject(previous); client.getCallbacks().post(wallObjectDespawned); } else if (current != null && previous == null) { - WallObjectSpawned wallObjectSpawned = new WallObjectSpawned(); + WallObjectSpawned wallObjectSpawned = WallObjectSpawned.INSTANCE; wallObjectSpawned.setTile(this); wallObjectSpawned.setWallObject(current); client.getCallbacks().post(wallObjectSpawned); } else if (current != null) { - WallObjectChanged wallObjectChanged = new WallObjectChanged(); + WallObjectChanged wallObjectChanged = WallObjectChanged.INSTANCE; wallObjectChanged.setTile(this); wallObjectChanged.setPrevious(previous); wallObjectChanged.setWallObject(current); @@ -159,21 +159,21 @@ public abstract class RSTileMixin implements RSTile if (current == null && previous != null) { - DecorativeObjectDespawned decorativeObjectDespawned = new DecorativeObjectDespawned(); + DecorativeObjectDespawned decorativeObjectDespawned = DecorativeObjectDespawned.INSTANCE; decorativeObjectDespawned.setTile(this); decorativeObjectDespawned.setDecorativeObject(previous); client.getCallbacks().post(decorativeObjectDespawned); } else if (current != null && previous == null) { - DecorativeObjectSpawned decorativeObjectSpawned = new DecorativeObjectSpawned(); + DecorativeObjectSpawned decorativeObjectSpawned = DecorativeObjectSpawned.INSTANCE; decorativeObjectSpawned.setTile(this); decorativeObjectSpawned.setDecorativeObject(current); client.getCallbacks().post(decorativeObjectSpawned); } else if (current != null) { - DecorativeObjectChanged decorativeObjectChanged = new DecorativeObjectChanged(); + DecorativeObjectChanged decorativeObjectChanged = DecorativeObjectChanged.INSTANCE; decorativeObjectChanged.setTile(this); decorativeObjectChanged.setPrevious(previous); decorativeObjectChanged.setDecorativeObject(current); @@ -192,21 +192,21 @@ public abstract class RSTileMixin implements RSTile if (current == null && previous != null) { - GroundObjectDespawned groundObjectDespawned = new GroundObjectDespawned(); + GroundObjectDespawned groundObjectDespawned = GroundObjectDespawned.INSTANCE; groundObjectDespawned.setTile(this); groundObjectDespawned.setGroundObject(previous); client.getCallbacks().post(groundObjectDespawned); } else if (current != null && previous == null) { - GroundObjectSpawned groundObjectSpawned = new GroundObjectSpawned(); + GroundObjectSpawned groundObjectSpawned = GroundObjectSpawned.INSTANCE; groundObjectSpawned.setTile(this); groundObjectSpawned.setGroundObject(current); client.getCallbacks().post(groundObjectSpawned); } else if (current != null) { - GroundObjectChanged groundObjectChanged = new GroundObjectChanged(); + GroundObjectChanged groundObjectChanged = GroundObjectChanged.INSTANCE; groundObjectChanged.setTile(this); groundObjectChanged.setPrevious(previous); groundObjectChanged.setGroundObject(current); @@ -282,7 +282,7 @@ public abstract class RSTileMixin implements RSTile logger.trace("Game object despawn: {}", previous.getId()); - GameObjectDespawned gameObjectDespawned = new GameObjectDespawned(); + GameObjectDespawned gameObjectDespawned = GameObjectDespawned.INSTANCE; gameObjectDespawned.setTile(this); gameObjectDespawned.setGameObject(previous); client.getCallbacks().post(gameObjectDespawned); @@ -296,7 +296,7 @@ public abstract class RSTileMixin implements RSTile logger.trace("Game object spawn: {}", current.getId()); - GameObjectSpawned gameObjectSpawned = new GameObjectSpawned(); + GameObjectSpawned gameObjectSpawned = GameObjectSpawned.INSTANCE; gameObjectSpawned.setTile(this); gameObjectSpawned.setGameObject(current); client.getCallbacks().post(gameObjectSpawned); @@ -310,7 +310,7 @@ public abstract class RSTileMixin implements RSTile logger.trace("Game object change: {} -> {}", previous.getId(), current.getId()); - GameObjectChanged gameObjectsChanged = new GameObjectChanged(); + GameObjectChanged gameObjectsChanged = GameObjectChanged.INSTANCE; gameObjectsChanged.setTile(this); gameObjectsChanged.setPrevious(previous); gameObjectsChanged.setGameObject(current); @@ -339,7 +339,9 @@ public abstract class RSTileMixin implements RSTile for (RSNode cur = head.getNext(); cur != head; cur = cur.getNext()) { RSGroundItem item = (RSGroundItem) cur; - ItemDespawned itemDespawned = new ItemDespawned(this, item); + ItemDespawned itemDespawned = ItemDespawned.INSTANCE; + itemDespawned.setTile(this); + itemDespawned.setItem(item); client.getCallbacks().post(itemDespawned); } } @@ -357,7 +359,9 @@ public abstract class RSTileMixin implements RSTile { if (lastUnlink != null) { - ItemDespawned itemDespawned = new ItemDespawned(this, lastUnlink); + ItemDespawned itemDespawned = ItemDespawned.INSTANCE; + itemDespawned.setTile(this); + itemDespawned.setItem(lastUnlink); client.getCallbacks().post(itemDespawned); } return; @@ -369,7 +373,9 @@ public abstract class RSTileMixin implements RSTile { if (lastUnlink != null) { - ItemDespawned itemDespawned = new ItemDespawned(this, lastUnlink); + ItemDespawned itemDespawned = ItemDespawned.INSTANCE; + itemDespawned.setTile(this); + itemDespawned.setItem(lastUnlink); client.getCallbacks().post(itemDespawned); } return; @@ -402,7 +408,9 @@ public abstract class RSTileMixin implements RSTile if (lastUnlink != null && lastUnlink != previous && lastUnlink != next) { - ItemDespawned itemDespawned = new ItemDespawned(this, lastUnlink); + ItemDespawned itemDespawned = ItemDespawned.INSTANCE; + itemDespawned.setTile(this); + itemDespawned.setItem(lastUnlink); client.getCallbacks().post(itemDespawned); } @@ -417,7 +425,9 @@ public abstract class RSTileMixin implements RSTile item.setX(x); item.setY(y); - ItemSpawned itemSpawned = new ItemSpawned(this, item); + ItemSpawned itemSpawned = ItemSpawned.INSTANCE; + itemSpawned.setTile(this); + itemSpawned.setItem(item); client.getCallbacks().post(itemSpawned); current = forward ? current.getNext() : current.getPrevious(); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSVarcsMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSVarcsMixin.java index 86a757092b..e3d8db2864 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSVarcsMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSVarcsMixin.java @@ -19,13 +19,17 @@ public abstract class RSVarcsMixin implements RSVarcs @Inject public void onVarCIntChanged(int id, int value) { - client.getCallbacks().post(new VarClientIntChanged(id)); + VarClientIntChanged event = VarClientIntChanged.INSTANCE; + event.setIndex(id); + client.getCallbacks().post(event); } @MethodHook(value = "setString", end = true) @Inject public void onVarCStrChanged(int id, String value) { - client.getCallbacks().post(new VarClientStrChanged(id)); + VarClientStrChanged event = VarClientStrChanged.INSTANCE; + event.setIndex(id); + client.getCallbacks().post(event); } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java index 4c59a88e53..02b69facf0 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java @@ -408,7 +408,7 @@ public abstract class RSWidgetMixin implements RSWidget @Override public void broadcastHidden(boolean hidden) { - WidgetHiddenChanged event = new WidgetHiddenChanged(); + WidgetHiddenChanged event = WidgetHiddenChanged.INSTANCE; event.setWidget(this); event.setHidden(hidden); @@ -496,7 +496,7 @@ public abstract class RSWidgetMixin implements RSWidget client.getLogger().trace("Posting widget position changed"); - WidgetPositioned widgetPositioned = new WidgetPositioned(); + WidgetPositioned widgetPositioned = WidgetPositioned.INSTANCE; client.getCallbacks().postDeferred(widgetPositioned); } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSWorldMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSWorldMixin.java index eefb479963..2b8ff3fc30 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSWorldMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSWorldMixin.java @@ -62,7 +62,8 @@ public abstract class RSWorldMixin implements RSWorld if (worlds != null && worlds.length > 0 && worlds[worlds.length - 1] == this) { // this is the last world in the list. - WorldListLoad worldLoad = new WorldListLoad(worlds); + WorldListLoad worldLoad = WorldListLoad.INSTANCE; + worldLoad.setWorlds(worlds); client.getCallbacks().post(worldLoad); } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java index ab372ca932..c1b2d09409 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java @@ -98,7 +98,7 @@ public abstract class ScriptVMMixin implements RSClient return true; } - ScriptCallbackEvent event = new ScriptCallbackEvent(); + ScriptCallbackEvent event = ScriptCallbackEvent.INSTANCE; event.setScript(currentScript); event.setEventName(stringOp); client.getCallbacks().post(event); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java index 6338d07521..737e0f0a54 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java @@ -120,7 +120,7 @@ public abstract class SoundEffectMixin implements RSClient { // Regular sound effect - SoundEffectPlayed event = new SoundEffectPlayed(); + SoundEffectPlayed event = SoundEffectPlayed.INSTANCE; event.setSoundId(client.getQueuedSoundEffectIDs()[soundIndex]); event.setDelay(client.getQueuedSoundEffectDelays()[soundIndex]); client.getCallbacks().post(event); @@ -133,7 +133,7 @@ public abstract class SoundEffectMixin implements RSClient int y = (packedLocation >> 8) & 0xFF; int range = (packedLocation) & 0xFF; - AreaSoundEffectPlayed event = new AreaSoundEffectPlayed(); + AreaSoundEffectPlayed event = AreaSoundEffectPlayed.INSTANCE; event.setSoundId(client.getQueuedSoundEffectIDs()[soundIndex]); event.setSceneX(x); event.setSceneY(y);