9a5a7a44f9cd3a2b1ef75189de9d20991d1c7c78
It is causing deadlocks as the client holds a lock on client in paint() at the time draw() is called, and the EDT then causes RSCanvas (which is the listener) to get triggered when the client draws onto the canvas, which goes back to client.paint() and deadlocks.
runelite
runelite is a RuneScape 2 client and reverse engineering project
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
- deobfuscator - contains bytecode deobfuscator, mapper for handling updates, and the injector
- http-api - API for api.runelite.net
- http-service - Service for api.runelite.net
- model-viewer - RS Model, NPC/Object, and terrain viewer
- runelite-api - runelite api, use this for plugin development
- runescape-api - mappings correspond to these interfaces, runelite-api wraps this
- runescape-client-injector - builds the injection from the vanilla client and the mappings
- runescape-client - decompiled RuneScape client, contains mappings
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
Most of Runelite is licensed under the BSD 2-clause license. See the license header in the respective file to be sure. Some of the code, like everything in runescape-client, is automatically generated, and is not licensed.
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%
