Files
2026-09-16 23:18:43 -06:00

69 lines
2.3 KiB
Markdown

# modolith
A copy of all mods I am using in Luanti, at the versions I am using.
**Do not backup to GitHub.** Because I cannot verify the provenance of all code
within, and they run shitty automated systems, I cannot protect myself from
automatic bullshit fucking me over. :D
Because mods take a large amount of space, I'm keeping the mods I use in their
own repo so they can be easily referenced per save.
A portmanteau of mods and monolith.
## Format
```json
{
"mods":{
"name":{
"author":"PackageAuthorName",
"canonical_name":"mod_name",
"colloquial_name":"Mod Redo",
"optional":["alphabetical","list"],
"provides":["alphabetical","list"],
"required":["alphabetical","list"],
"status":"untested"
}
},
"packs":{
"Name of Pack":{
"mods":{
"alphabetical":true,
"list":true
}
}
}
}
```
All items are optional. A mod with no information other than its canonical name
can be just the value `true`.
**Mods are named by their distributed directory name.**
- `author`: Name as displayed in the URL at https://content.luanti.org/
- `canonical_name`: In rare cases, the name of a mod's distributed directory is
*different* from its canonical name, and I organize by the directory name as
distributed. (The canonical name is also how things are presented on the
content database.)
- `colloquial_name`: Display name to distinguish a mod from other providers of
the same canonical name.
- `optional`: Alphabetical list of optional dependencies.
- `provides`: Alphabetical list of mods provided as part of a pack.
- `required`: Alphabetical list of required dependencies.
- `status`: `untested` or `abandoned` for mods I've not tested or decided not to
use.
I only put in dependencies I consider significant, so many mods provided by a
game or commonly present are excluded. Because I'm lazy.
Pack lists are an alphabetical set of keys to make adding and removing items
easier than they would be in an array.
Packs should include all dependencies in their mod list, and if one is missing,
I will complain about it.
## Tasks
- [x] Make some kind of JSON format / script to copy out specific mods for
specific saves.
- [ ] Function to open ContentDB for each mod in a list, or just a specific mod.
- [x] Function to copy mods to a particular destination based on a pack.