Skip to content

Conversation

@Fiffers
Copy link
Contributor

@Fiffers Fiffers commented Feb 10, 2026

This PR is primarily a complete refactor of the CustomEmojiPlugin class. The main goal was to decouple it from other classes. No new features, just extractions of certain parts to make the plugin easier to work with.

  • Implemented a lifecycle manager pattern with a new LifecycleManager class and Lifecycle interface to make startup/shutdown of different classes less convoluted
  • Moved message handling logic to a new EmojiMessageManager class
  • Moved soundoji loading and playback to new SoundojiLoader and SoundojiPlayer classes, respectively
  • Moved EmojiPanel and NavigationButton stuff to its own EmojiPanelManager.
  • All event handlers in CustomEmojiPlugin were just calling stuff in other classes, so the event handlers were moved to be directly in those classes instead.
  • Most intra-class interactions are now done via the EventBus

@runelite-github-app
Copy link

runelite-github-app bot commented Feb 10, 2026

@runelite-github-app
Copy link

runelite-github-app bot commented Feb 10, 2026

This plugin requires a review from a Plugin Hub maintainer. The reviewer will request any additional changes if needed.


Internal use only: Reviewer details Maintainer details

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant