* Add javadocs to methods
* Rename 2 methods for clarity, and add Nullable tag
* Rename local vars for consistency / correctness
* Simplify setHoveredFriend to allow clearer variable names
* Finalize local vars and add KEY_PREFIX constant
* Tweak 2 log messages for clarity and crash-proofing
* Inline the comments added to generic callbacks
* Skip the tag removal on MenuEntryAdded targets
Prepared it for release, still to be redesigned.
Changes:
- Changed the background color on some panels to match the new ui
- Re-ordered the plugin to a lower position on the side bar
- Added new parameter to navigation buttons: priority.
- Ordered the navigation buttons by their priority and name in PluginToolbar.
- Added a maximum size to the navigation buttons to keep all their sizes
the same.
- Added new icons for the following plugins:
- Account (login/logout)
- Grand Exchange
- Feed
- Info
- Kourend Library
- Notes
- Screenshot
Farming Plugin:
- Redid the layout, coloring and positioning on the FarmingTrackerPanel
to include my new MaterialTabs.
- Added section divider labels in the special and tree tabs.
- Hid the patch type indicator for some patches (explained in docs).
- Added patch names for all instances of FarmingPatch (previously only
a portion of them were written for a hack that is no longer necessary).
- Created getName() method in PatchImplementation that returns the patch
type's name in a formatted style (SPIRIT_TREE -> Spirit Tree).
- Created a new tab for bushes.
MaterialTabs:
- Added onSelectEvent runnable to MaterialTab.
- Added horizontal gap to the tabs.
- Added getTab() method that returns a tab on a given index.
CustomScrollBarUI:
- Added functionality to allow the ui colors to be changed from an
external call. (setters)
ColorScheme:
- Created color constants in the ColorScheme file for the progresss bar
backgrounds and used them in the CropState enum.
Restyled the whole exp trackers plugin panel to follow my proposed
design style on issue #1342
- Added two new entries to the runelite properties file (github and
patreon link). And addes respective getter methods in the
RuneLiteProperties.java file.
Restyled the whole exp trackers plugin panel to follow my proposed
design on issue #1342
- Restyled and recolored the exp tracker
- Removed the contracted state, trackers are now always expanded as they
are now thinner than before
- Progress bars are now color matched to the skill using a new enum
SkillColor
- Added new progresss bar custom component
- Added error panel for "no exp gained" that disappears once the player
earns experience
- Restyled the overall exp panel
- Hid the overall exp panel until the player earns experience
- Added "Reset" right click menu to individual skill trackers
- Added "Reset All" right click menu to the overall skill tracker
- Updated the search bar to the new icon text field component.
- Added new on/off icons based on the material design style.
- Recoloured the background.
- Recoloured the plugin name labels.
- Replaced the config/toggle buttons for icon labels.
- Hid config button if no config was found, instead of disabling it.
- Left aligned the header title.
- Added new ComboBoxListRenderer to prevent substance's ugly coloring.
- Changed the panel title to "Configuration"
- Used deathbeam's new layout manager DynamicGridLayout
- Increased the padding on the overall panel and the title.
- Recolored the background and text editor.
- Wrapped the text editor in a panel to prevent substance's hover
effects.
- Added 10px padding to the text editor
- Added a header section, containing a title and a refresh icon button.
- Increased the overall border from 5 to 10 pixels.
- Changed the background color to a darker gray.
- Spaced out the item panels vertically and slightly horizontally.
- Added a new header with the plugin's name, as it can be hard to know
what this plugin does/is.
- Restyled the reset button, it previously was a "Reset" text button, I
switched it to an icon with a darker version that activates
when clicked.
- Added the icon images to the resource folder.
- Added new method to SwingUtil that returns a darker version of an
image
- Used the image darkening method to give the refresh button a click
feedback effect
Overall:
- Applied new colors, positions and sizes, following issue #1342.
Search:
- Applied the new IconTextField, with search, error and loading
indicator (and respective image files).
- Blocked tabs witching while results are loading.
Endpoints:
- Moved the endpoints to right below the search bar (this follows
a more logical sequence of usage).
- Changed the endpoint presentation style and size. The selected
endpoint now displays a orange underline.
- Edited the endpoint icons to better fit the visual context.
- Changed the way currently selected endpoint is stored.
Stats:
- Changed the sizing of the labels/panels.
- Changed the font to a smaller version.
Total/Combat:
- Switched the order of the combat and total indicator
- Changed the font to a smaller version.
Clues/Minigames:
- Changed the font to a smaller version.
Details Panel:
- Completely removed the details panel, instead went for a more
in-line with the game approach, tooltips!
- Rewrote the way skills and labels are matched
- Added html progress bar to the next level
General:
- Applied the design I proposed in issue #1342
- Applied custom component: MaterialTabs
- Removed default scrolling behaviour from parent PluginPanel
- Added error panels for empty searches and empty offer slots
- Added new formatter to the StackFormatter that displays integers
as rs stacks with decimals (21700 into 21.7k)
- Changed the Locale on the stack formatter and respective unit testing
to UK, this makes sure all tests are consistent with Travis (ex: i ran
the unit testing in europe, travis ran in the us, so it passed my tests,
failed his)
Offers:
- Refactored the GE offers into it's own seperate file:
GrandExchangeOffersPanel
- Redesigned the ge offers items
- Included the custom component ThinProgressBar on the bottom of each
ge item panel
- Added secondary information panel, toggled by clicking on the primary
panel
- Added a game state check that resets all ge offers on logout
Search:
- Recoloured and resized the search bar
- Added new icons to the search bar (incluing a loading wheel gif)
- Removed focus on the search bar when results are displayed
- Added custom scrolling behaviour
- Blocked input when search is in progress
To organize the project a bit, decided to add a new folder inside the
ui folder, to hold all custom components. ui/components/
Rewrote IconTextField
I wasn't happy with its functionality, so I rewrote it to
include the following:
- Left aligned centered icons
- Animated gif support (ex: loading wheels)
- Custom hover effects (color change)
- Input blocking
All changes:
- Created new folder ui/components/
- Moved JShadowLabel and JShadowLabelUI to components folder
- Moved IconTextField to components folder
- Rewrote IconTextField
- Created new components: MaterialTab & MaterialTabGroup
- Created new components: CustomScrollBarUI
- Created new components: PluginErrorPanel
- Created new components: ThinProgressBar
- Applied the new scroll bar ui to the UI defaults (UIManager)
- Created new substance theme "Obsidian"
- Created new ColorScheme file to hold all globally used colors
- Darkened the client frame using the substance color scheme file
- Changed substance's colorization factor to 1
- Tweaked the coloring on the dev plugin panel
- Set the UI default foreground color on Buttons and MenuItems to White.
This broke the speccounter plugin, and is moderately incorrect because client scripts can update varbits before a tick has happened, and the event should reflect that.
The rasterizer crashes on certain tiles ingame with specific camera angles.
java.lang.ArrayIndexOutOfBoundsException: -1
at Graphics3D.rasterGouraudLine(Graphics3D.java:797)
at Graphics3D.rasterGouraud(Graphics3D.java:680)
at Region.drawTileUnderlay(Region.java:1853)
at Region.draw(Region.java:1376)
at Region.drawRegion(Region.java:1187)
at class35.method682(class35.java:808)
at WorldMapType3.gameDraw(WorldMapType3.java:448)
at class218.method4359(class218.java:1069)
at Client.method1268(Client.java:3922)
at Client.methodDraw(Client.java:2239)
at GameEngine.method914(GameEngine.java:605)
at GameEngine.run(GameEngine.java:1027)
at java.lang.Thread.run(Thread.java:748)