Remove unnecessary null checks for game client from plugins, as now
client is always not null in all of them, since in the case of it being
null the plugins are not even started.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- 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>
- Add same padding to each panel
- Wrap each panel in JScrollPane
- Clean up plugin panel API and set normalized width, height and layout
to each panel instead of having to manually specify it for each panel
- Make PluginPanel class abstract
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Simplify code of the navigation button to also handle images and to
extend the swing JButton instead of wrapping it in getButton method.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Change xp tracker button to use actual image instead of text because
text was not showing on both Windows and Linux.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
When request fails, entire response needs to be wrapped in try with
resources in order to close the connection properly and not only
response body.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Clone graphics before rendering overlay, then use the cloned graphics
for the overlay and dispose it afterwards to prevent any unwanted side
effects from overlay.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Fix overlay renderer plugin caching to actually use plugin received from
onPluginChanged hook, because the events are fired before the plugins
are actually added/removed to the plugin list.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Remove unnecessary derivations of runescapeSmallFont
- Render overlays in "safe" environment (restore original font and
tranform after overlay rendering is done)
- Use TextComponent at more places
- Remove unnecessary setting of default font in VolcanicMineOverlay
- Change RenderableEntity from abstract class to interface
- Remove unused tooltip configuration from RuneliteConfig
- Use viewportWidget instead of chatbox widget for positioning the
overlay groups (thanks to Devin for tip)
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Update examine plugin to include setting for showing item price when
examining item and choosing colors for the examine message (using new
chat message API)
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>
- Extend API to include support for getting clan members and
informations about them
- Add API for manipulation with modIcons
- Display clan ranks in clan chat (add to ClanChat plugin)
- Add new hook for clan members changed
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>
Add option to hide items under either Grand Exchange or High Alchemy
value to GroundItems plugin. Also ensure that items with 0 or no GE
price are shown anyway, as they are probably untradeables or inactive.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>