Introduction
#
What is JDash?JDash is a Java library that allows to collect and process data related to the popular platform game Geometry Dash. This library aims at providing Java developers tools to deal with game data without too much effort, with incentives to enforce good practices of Java development, such as immutability, proper use of null values, and design patterns.
#
OverviewJDash is a multi-module library requiring JDK 11 or above since version 4.0. There are currently 4 modules.
#
JDash Common moduleContains utility classes and data types to encode the different entities of Geometry Dash (levels, users...) required by all other modules.
#
JDash Client moduleProvides a high-level client to request data from Geometry Dash servers. It is powered by Project Reactor which allows to make requests in an efficient and non-blocking manner with backpressure handling (requests are queued internally and processed when resources are available, allowing requests to fail-fast in case the queue is full).
#
JDash Events moduleProvides an event loop that can be subscribed to in order to detect when new levels get rated and when the Daily level or Weekly demon changes.
#
JDash Graphics moduleAllows to generate icon images from game assets.
Result:
Read the next guides to have more in-depth understanding on each of the modules described above.