Skip to content

Folleach/GeometryDashAPI

Repository files navigation

image

Tests Version Downloads

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();

learn more

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();

learn more

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

learn more

How to use

  1. Install GeometryDashAPI from Nuget
  2. The end. You can use it :)

See wiki for learn more information

Tested on

  • .NET 6
  • .NET Core 2.2
  • .NET Framework 4.8

learn more

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