y9vad9 / SketchwareManager

Coroutine-based library for managing Sketchware (Sketchware Pro/Studio) projects, collections and etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Development on the library has been suspended due to its uselessness and possible irrelevance for nextgen of Sketchware. Also because of marriage motivation.

image A coroutine-based library for Sketchware Management. Provides the ability to work with projects(its logic, views, and so on.), collections and custom elements of Sketchware mods as custom components. Mods such as Pro and Studio (CodeGo) are now supported.

Why this particular library?

  • Fast: Due to the most optimized work with Sketchware (and mods) and Kotlin's coroutines, the library works as quickly as possible.
  • Easy to use: Due to coroutines and convenient Kotlin syntax, working with the library is as pleasant as possible.
  • Modern: SketchwareManager is Kotlin-first and uses modern libraries including Coroutines, Kotlin Serialization.

Implementation

repositories {
  maven("https://dl.kotlingang.fun")
}
dependencies {
  implementation("io.sketchware:Sketchware-Manager:dev-2.4.2")
}

Quick Start

To get a list of projects just make next:

// let's initialize base manager for sketchware:
val manager = SketchwareManager(sketchwareFolder)
// let's get projects manager from base manager for sketchware 
// and get projects:
val projects = manager.projectsManager.getProjects()
// let's print all:
projects.forEach { project: SketchwareProject ->
  // get config or current project
  val projectConfig = project.getConfig()
  // print id of project what was found.
  println("Project with id ${projectConfig.projectId} found.")
}

Also, we can get some sketchware collections, for example, moreblocks:

// let's initialize base manager for sketchware:
val manager = SketchwareManager(sketchwareFolder)
// get moreblocks as List:
val moreblocks = manager.collectionsManager.getMoreblocksManager().all
// let's print moreblocks data:
moreblocks.forEach(::println)

Full documentation you can get here.

R8 / Proguard

If you use Proguard, you may need to add rules for Coroutines .

🤙 Contacts

Sketchware community chat - https://t.me/sketchware_community

Me in Telegram - https://t.me/y9neon

About

Coroutine-based library for managing Sketchware (Sketchware Pro/Studio) projects, collections and etc.


Languages

Language:Kotlin 100.0%