Skip to content

Folleach/GeometryDashAPI

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
January 19, 2021 15:09
September 21, 2023 21:05
October 7, 2023 20:41
December 21, 2023 01:21
September 21, 2023 21:09
June 24, 2020 21:30
September 24, 2018 22:35
September 21, 2023 21:09

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