mirror of https://codeberg.org/minenux/minenux
add minetest artifact documentation
parent
b2ebaac2d4
commit
c8424baa0b
|
@ -0,0 +1,97 @@
|
|||
The minetest artifacts configurations
|
||||
=====================
|
||||
|
||||
|
||||
## Minetest context
|
||||
|
||||
Minetest has 4 kind of parts:
|
||||
|
||||
* **engine**: the engine is powered by irrlicht library, the engine its the part that
|
||||
handles the game and renders the logic of the players when moves and interact with
|
||||
the game.
|
||||
* version: the older engine (those version like 0.4 and 4.X) and newer (those from 5.0 and 5.X+ )
|
||||
* flavour: there's the origial minetest, also multicraft, freeminer and mientest4/minetest5
|
||||
* **mods**: are like plugins that enhances the engine gaming using the minetest api.
|
||||
* **games**: are the junction of mods and configs files to provide specific game logic targets
|
||||
|
||||
## Config files
|
||||
|
||||
The filename of the `.conf` file depends on the content type:
|
||||
|
||||
| file | context | minetest versions | identificacion and meaning |
|
||||
| ------------------- | ------- | ----------------- | -------------------------- |
|
||||
| `minetest.conf` | engine | all versions | for running configuration |
|
||||
| `game.conf` | games | 0.4, 5.X | for games on the engine. |
|
||||
| `depends.txt` | mods | 0.4,5.1,5.2 | for mod packs, only the dependency part |
|
||||
| `description.txt` | mods | 0.4,5.1,5.2 | for mods, only the descripton part |
|
||||
| `mod.conf` | mods | 5.X | for mods in the games, depends and description joined |
|
||||
| `modpack.txt` | mods | 0.4,5.0,5.1,5.2 | for identifiaction of mod packs of mods. |
|
||||
| `modpack.conf` | mods | 5.X | for identification of mod packs of mods. |
|
||||
| `texture_pack.conf` | games | 5.X | for texture packs. |
|
||||
|
||||
Next section will explain the two kind of files you can setup and where apply:
|
||||
|
||||
#### Understood files
|
||||
|
||||
The `txt` files only has one line if are the description and one line per mods technical name for each depends.
|
||||
|
||||
The `.conf` files uses a key-value format, separated using equals. Here's a simple example:
|
||||
|
||||
```
|
||||
name = minenux
|
||||
description = MinenuX
|
||||
```
|
||||
|
||||
Next section will explain the key values context and where apply:
|
||||
|
||||
#### Understood values
|
||||
|
||||
| key | context | Description of value |
|
||||
| ---------------------- | ----------- | ------------------------ |
|
||||
| `name` | mods, games | the mod technical name. |
|
||||
| `description` | mods | A short description to show in the client. |
|
||||
| `supported_games` | mods | List of supported game technical names. |
|
||||
| `unsupported_games` | mods | List of not supported game technical names. Useful to override game support detection. |
|
||||
| `depends` | mods | Comma-separated hard dependencies. |
|
||||
| `optional_depends` | mods | Comma-separated soft dependencies. |
|
||||
| `min_minetest_version` | mods, games | The minimum Minetest version this runs on, see [Min and Max Minetest Versions](#min_max_versions). |
|
||||
| `max_minetest_version` | mods, games | The maximum Minetest version this runs on, see [Min and Max Minetest Versions](#min_max_versions). |
|
||||
|
||||
The `minetest.conf` file has a huge list of keys to list, that are already described in each engine release file.
|
||||
|
||||
##### .cdb.json for developers
|
||||
|
||||
You can include a `.cdb.json` file in the root of your content directory (ie: next to a .conf)
|
||||
to update the package meta.
|
||||
|
||||
It should be a JSON dictionary with one or more of the following optional keys:
|
||||
|
||||
* `type`: One of `GAME`, `MOD`, `TXP`.
|
||||
* `title`: Human-readable title.
|
||||
* `name`: Technical name (needs permission if already approved).
|
||||
* `short_description`
|
||||
* `dev_state`: One of `WIP`, `BETA`, `ACTIVELY_DEVELOPED`, `MAINTENANCE_ONLY`, `AS_IS`, `DEPRECATED`, `LOOKING_FOR_MAINTAINER`.
|
||||
* `tags`: List of tag names
|
||||
* `content_warnings`: List of content warning names
|
||||
* `license`: A license name but for source code
|
||||
* `media_license`: A license name but for media files
|
||||
* `long_description`: Long markdown description.
|
||||
* `repo`: Git repo URL.
|
||||
* `website`: Website URL.
|
||||
* `issue_tracker`: Issue tracker URL.
|
||||
* `forums`: forum topic ID.
|
||||
* `video_url`: URL to a video.
|
||||
|
||||
Use `null` or `[]` to unset fields where relevant.
|
||||
|
||||
Example:
|
||||
|
||||
```json
|
||||
{
|
||||
"title": "Foo bar",
|
||||
"tags": ["pvp", "survival"],
|
||||
"license": "MIT",
|
||||
"website": null
|
||||
}
|
||||
```
|
||||
|
Loading…
Reference in New Issue