p0t4t0sandwich / TaterLib

A cross API code library that allows developers to write code that works across multiple modding platforms, and across a wide range of Minecraft versions, all with one JAR file. If TaterLib runs on it, so can your plugin/mod.
GNU General Public License v3.0
7 stars 1 forks source link

TaterLib Plugin Loader #91

Open p0t4t0sandwich opened 3 weeks ago

p0t4t0sandwich commented 3 weeks ago
p0t4t0sandwich commented 6 hours ago

Plugin spec:

Global vals (overridden per-plugin)

One Jar can contain multiple plugins

{
  "description": "Some words here" // optional
  "license": "GPL-3" // optional, but really?
  "authors": [
    {
      "name": "p0t4t0sandwich",
      "links": {
        "key": "val"
      }
    }
  ],
  "links": [
    "homepage": "somePage",
    "source": "someGithub",
    "issues": "someGithubIssues"
  ]
  "plugins": []
}

Plugins

{
  "id": "taterlib",
  "name": "TaterLib", // optional
  "version": "0.0.0-SNAPSHOT",
  "entrypoint": "some.class.somewhere.Class",
  "dependencies": []
}

Dependencies

{
  "type": "plugin",
  "id": "someplugin",
  "version": "1.2.0" // or "[1.2)"
}
{
  "type": "maven",
  "repo": "https://maven.neuralnexus.dev/mirror", // required if not in maven central
  "coords": "gs.mclo:api:3.0.1",
  "md5": "a0f52bb4002f4fe958e9c7af8d2e34fb" // one hash required, also supports sha1, sha256, sha512
}