089a793ba01f0c20745dd933cbc9550784444360
The current way of invoking it on the executor would let the client have a start and a stop for a plugin sitting in the executor's queue, making it toggle endlessly. This only was because we were using invokeAndWait in startPlugin, which can't be invoked on the EDT because it would deadlock with itself.
runelite

RuneLite is a free, open source OldSchool RuneScape client.
If you have any questions, please join our IRC channel on irc.rizon.net #runelite or alternatively our Discord server.
Project Layout
- cache - Libraries used for reading/writing cache files, as well as the data in it
- http-api - API for api.runelite.net
- http-service - Service for api.runelite.net
- runelite-api - RuneLite API, interfaces for accessing the client
- runelite-client - Game client with plugins
Usage
Open the project in your IDE as a Maven project, build the root module and then run the RuneLite class in runelite-client.
For more information visit the RuneLite Wiki.
License
RuneLite is licensed under the BSD 2-clause license. See the license header in the respective file to be sure.
Contribute and Develop
We've set up a separate document for our contribution guidelines.
Description
Languages
Java
98.9%
GLSL
0.7%
C
0.3%
