32 lines
1.7 KiB
Markdown
32 lines
1.7 KiB
Markdown
# Example Mod
|
||
|
||
A bworld mod. The format is described in `MODS.md` at the root of the bworld repo.
|
||
|
||
## Files
|
||
|
||
| Path | What it's for |
|
||
| --------------------- | ------------------------------------------------------------------------------------ |
|
||
| `manifest.json` | The mod's id, name, version, dependencies and scripts. |
|
||
| `blocks/*.json` | One block per file. Blocks get an item form with the same id unless `"item": false`. |
|
||
| `items/*.json` | Items that aren't a block's item form. |
|
||
| `recipes/*.json` | `shaped` crafting, `furnace` smelting and `fuel`. |
|
||
| `textures/*.png` | 16×16 textures, named `example_mod:<file name>`. |
|
||
| `worldgen/ores.json` | Ores to generate (optional, not included here). |
|
||
| `scripts/server.ts` | Game logic: block components, commands, events. Never sent to players. |
|
||
| `scripts/client.ts` | Sent to players: custom screens, HUD, keybinds. |
|
||
| `scripts/worldgen.ts` | Terrain features. Runs on the server and every client and must be deterministic. |
|
||
| `CREDITS.md` | Licenses and thanks, shown on the About page. |
|
||
|
||
Delete what you don't use, including its entry in `manifest.json`.
|
||
|
||
## Checking it
|
||
|
||
From the bworld repo:
|
||
|
||
```sh
|
||
deno task check-mods
|
||
```
|
||
|
||
This validates the manifest and every data file, checks that the ids, textures and items you refer to exist, and
|
||
typechecks the scripts.
|