Add dependency on logback and configure logger to log to
~/.runelite/logs/application.log with rolling file appender, that means
every 10MB file will be rolled and also every day file will be rolled
with maximum history of 30 days, to not flood user's system space.
Add new console parameter -debug, because logback properties cannot be
set from console like slf4j-simple ones, so it needs to be done in a bit
more complicated way.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Add injectable Discord RPC service that will broadcast Discord events
through event bus and have API for setting Discord Rich Presence status.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Jagex has requested I take steps to prevent users from making plugins
which are in violation of the game rules. This limits plugins to the core
plugins.
- Move setting of UI-related variables to ClientUI class (create new
"create" static method to set them before creating the UI window)
- Clean up ClientUI class
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Remove runelite variable
- Use setters for options and injector (to use them outside of tests)
- Remove getter for gui and make it package-private
- Use package-private gui field when providing ClientUI from
RuneliteModule
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Instead of using setters and getters to move around reference to Client
and creating the client in the client panel, move creation of the Client
to RuneLite and add new field to PluginDescriptor if the plugin should
be loaded when client is outdated.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Extract runelite session related logic from RuneLite to SessionManager
class and expose this as Guice service
- Move WSClient to account package
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Update api of SendMessage to also include message type
- Create API for updating chat message based on saved colors for normal
and highlighted message and for adding game messages that can be
recolored too
- Update chat commands plugin to use the new API
- Add option to globally disable recoloring to RuneliteConfig
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Remove dependency on external notification library and rewrite
notifications to use lightweight native system notification
implementations:
* Linux - notify-send
* OS X - apple script - display notification
* Windows - TrayIcon
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Replace current TrayIcon notifications with system-native notifications.
Supports most of the operating systems (the important ones are Windows,
Linux and OS X).
Resolves: #230
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This causes hierarchy to be runelite-client -> runelite-api and
injected-client -> runescape-api -> runelite-api. The mixin injector
fufills the runelite-api interface with access to the runescape-api
interfaces. The mixins live in runelite-mixins and are not loaded within
the client.
Note the obfuscated client classes do not pass JVM verification on 7+,
so the mixins are currently set to target Java 6.
Convert existing plugins to use it, so that the code all runs on the same
main game thread. Fixes various thread related issues caused from
accessing game state from executor threads.