Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,17 @@ A list of mods for MIO: Memories in Orbit.
Fields:
```js
export interface Mod {
id: string; // A UUID used for identifying your mod. You can generate one at https://www.uuidgenerator.net/version4
id: string; // An identifier for your mod.
titleSlug: string; // The repository slug from the URL of your github repository. Used for linking to the repository.
displayTitle: string; // How you want your mod's name to be displayed.
authorSlug: string; // The username slug from the URL of your github account. Used for linking to the repository and your account.
displayAuthor: string; // How you want your username to be displayed.
description: string; // A short description of your mod.
modDirectoryName: string; // What you want the install and config directories for your mod to be set to. In most cases, this should be the same as the titleSlug field, but it is up to you.
versions: Versions; // A list of downloads for your mod. See below.
configFiles: string[]; // A list of paths that your mod uses inside MIO/modconfig. For example, if your mod uses `modconfig/noclip/keybinds.txt`, you would put `"configFiles": ["noclip/keybinds.txt"]`.
dependencies: string[]; // A list of UUIDs of mods your mod depends on. You don't have to put Modding API.
dependencies: string[]; // A list of the identifiers of mods your mod depends on.
}

export type Versions = Record<string, string>; // Used to list versions of your mod and the corresponding .dll file downloads. Example: "versions": {"0.1.0": "https://github.com/YourUsername123/your-mod/releases/download/v0.1.0/your_mod.dll"}
export type Versions = Record<string, string>; // Used to list versions of your mod and the corresponding .zip file downloads. Example: "versions": {"0.1.0": "https://github.com/YourUsername123/your-mod/releases/download/v0.1.0/your_mod.zip"}
```
53 changes: 14 additions & 39 deletions mods.json
Original file line number Diff line number Diff line change
@@ -1,59 +1,34 @@
[
{
"id": "4aa269de-c271-404a-8d5e-b107fe6e5898",
"id": "io.github.mio-modding.mio-modding-api",
"titleSlug": "mio-modding-api",
"displayTitle": "Modding API",
"authorSlug": "MIO-Modding",
"displayAuthor": "MIO Modding",
"description": "Mod loader for MIO: Memories in Orbit",
"description": "Modding API for MIO: Memories in Orbit",
"modDirectoryName": "modding-api",
"versions": {
"0.0.5": "https://github.com/MIO-Modding/mio-modding-api/releases/download/v0.0.5/winhttp.dll"
"0.1.0": "https://github.com/MIO-Modding/mio-modding-api/releases/download/0.1.0/mio-modding-api.zip"
},
"configFiles": [],
"dependencies": []
},
{
"id": "5fb0423f-5ab2-48c2-9ed1-e636882e4d73",
"titleSlug": "mio-noclip-mod",
"displayTitle": "No-Clip Mod",
"id": "io.github.ilemni.mio-freecam-mod",
"titleSlug": "mio-freecam-mod",
"displayTitle": "Freecam Mod",
"authorSlug": "Ilemni",
"displayAuthor": "Ilemni",
"description": "A noclip mod for MIO: Memories in Orbit",
"description": "A freecam mod for MIO: Memories in Orbit",
"modDirectoryName": "freecam",
"versions": {
"0.2.0": "https://github.com/Ilemni/mio-noclip-mod/releases/download/v0.2/noclip.dll",
"0.1.1": "https://github.com/Ilemni/mio-noclip-mod/releases/download/v0.1.1/noclip.dll",
"0.1.0": "https://github.com/Ilemni/mio-noclip-mod/releases/download/v0.1/noclip.dll"
"1.0.0": "https://github.com/Ilemni/mio-freecam-mod/releases/download/v1.0/freecam-mod.zip"
},
"configFiles": [
"noclip/keybinds.txt"
"keybinds.txt"
],
"dependencies": []
},
{
"id": "7712fca7-f2c8-423b-b2a8-bf341826070a",
"titleSlug": "mio-teleport-mod",
"displayTitle": "Teleport Mod",
"authorSlug": "CoCoHfl",
"displayAuthor": "CoCo",
"description": "A teleport mod for MIO",
"versions": {
"1.0.0": "https://github.com/CocoHfl/mio-teleport-mod/releases/download/v1.0.0/tpmod.dll"
},
"configFiles": [],
"dependencies": []
},
{
"id": "b37ba35b-6e1f-4cd4-b268-76a6d05c2039",
"titleSlug": "mio-purple",
"displayTitle": "Purple Tendrils",
"authorSlug": "Ilemni",
"displayAuthor": "Ilemni",
"description": "Change the color of Mio's tendrils to purple",
"versions": {
"0.1.0": "https://github.com/Ilemni/mio-purple/releases/download/v0.1/mio_purple.dll",
"0.1.1": "https://github.com/Ilemni/mio-purple/releases/download/v0.1.1/mio_purple.dll"
},
"configFiles": [],
"dependencies": []
"dependencies": [
"io.github.mio-modding.mio-modding-api"
]
}
]
12 changes: 8 additions & 4 deletions mods.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
"type": "array",
"items": {
"type":"object",
"required": ["id", "titleSlug", "displayTitle", "authorSlug", "displayAuthor", "description", "versions", "configFiles", "dependencies"],
"required": ["id", "titleSlug", "displayTitle", "authorSlug", "displayAuthor", "description", "modDirectoryName", "versions", "dependencies"],
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "A UUID used for identifying your mod. You can generate one at https://www.uuidgenerator.net/version4"
"description": "An identifier for your mod."
},
"titleSlug": {
"type": "string",
Expand All @@ -33,6 +33,10 @@
"type": "string",
"description": "A description of your mod."
},
"modDirectoryName": {
"type": "string",
"description": "What you want the install and config directories for your mod to be set to. In most cases, this should be the same as the titleSlug field, but it is up to you."
},
"versions": {
"type": "object",
"description": "A list of downloads for your mod, by semantic version.",
Expand All @@ -41,7 +45,7 @@
"patternProperties": {
"^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$": {
"type": "string",
"description": "URL to the .dll download for your mod."
"description": "URL to the .zip download for your mod."
}
}
},
Expand All @@ -54,7 +58,7 @@
},
"dependencies": {
"type": "array",
"description": "A list of UUIDs of mods your mod depends on. You don't have to put Modding API.",
"description": "A list of the identifiers of mods your mod depends on.",
"items": {
"type": "string"
}
Expand Down
Loading