GeometryDashAPI
GeometryDashAPI copied to clipboard
API for Geometry Dash
So, GeometryDashAPI is the library for edit everything that you imagine
Amooong things...
Levels
Edit your own level from the stored data, or download from the server and... edit it!
var local = await LocalLevels.LoadFileAsync();
var level = local.GetLevel("MyLevel", revision: 0).LoadLevel();
level.AddColor(new Color(11)
{
Rgb = RgbColor.FromHex("#ffa500") // orange
});
for (var x = 0; x < 1024; x += 4)
{
level.AddBlock(new ColorBlock(1887)
{
PositionX = x,
PositionY = (float)Math.Sin(x / 100f) * 120,
ColorBase = 11
});
}
local.GetLevel("MyLevel", revision: 0).SaveLevel(level);
await local.SaveAsync();
Stored data
Open .dat
/.plist
file for explore your own statistics, creation, downloads, achievements and more
var manager = GameManager.LoadFile();
manager.PlayerName = "your name :>";
manager.Save();
For editing .dat
files with a text editor, you can use CLI tool for unpacking them
Network
Don't think about communicates with the server.
Ready-made methods are at your disposal for
- search
- account
- ... ~~to be honest there are few methods.~~ todo: add a new items when make more methods ;)
var client = new GameClient();
var user = await client.SearchUserAsync("Folleach");
You can even interact with unofficial servers too
How to use
- Install
GeometryDashAPI
from Nuget - The end. You can use it :)
See wiki for learn more information
Tested on
- .NET 6
- .NET Core 2.2
- .NET Framework 4.8
Versions convention
The main version pattern is 0.x.y
Where x
is this some new feature or a big rework
Where y
is this a small fix [bug]
Sometimes there are -alpha
suffix appears.
This is means experiment release for include this library to other projects
Major 0 will be change to 1 when library will support most features of game
Every version should contains a tag, with prefix v
.
Example: v1.2.3-alpha
Used libraries
Name | Link |
---|---|
SharpZipLib | GitHub |
csFastFloat | GitHub |
UrlBase64 | GitHub |