feat: implement crafting table

This commit is contained in:
FlipWind
2026-08-08 23:43:27 +08:00
parent 298441e2e0
commit c1a8ffb323
10 changed files with 547 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
# 物品贴图库
本目录存放 `crafting` 合成组件使用的物品贴图(PNG)。
## 命名规则
一个物品对应一个文件:`<名称>.png`,文件名(不含 `.png`)就是引用时的名字。
例如放入 `diamond.png` 后,在合成组件中写 `a1="diamond"` 即可显示钻石。
> 推荐使用 16×16(或 32×32)的 Minecraft 像素风贴图,`image-rendering: pixelated` 会保证缩放后依然清晰锐利。
## 自动同步(推荐)
构建 / 开发时由 `scripts/sync-items.ps1` 自动维护本目录:
- sfcraft 自定义贴图(`amethyst_cauldron_blank``exp_totem``lunch_box``pearl_token` 等)
从 [sfcraft 仓库](https://github.com/saltedfishclub/sfcraft/tree/rev/26.2/src/main/resources/assets/sfcraft/textures/item)
自动下载,缺失或远端变更时更新;
- 原版物品(`diamond``stick` 等)在本地缺失时从 Minecraft wiki 自动获取;
- 手动放入的贴图不会被覆盖;找不到的贴图会报错并列出物品 id,阻止构建 / 开发。
请使用 `scripts\build.ps1` / `scripts\dev.ps1` 而非直接运行 `hugo`,详见 `scripts/README.md`
## 组件用法
```markdown
{{< crafting
a1="diamond" a2="diamond" a3="diamond"
b1="" b2="stick" b3=""
c1="" c2="stick" c3=""
out="diamond_pickaxe"
caption="钻石镐(可选)"
>}}
```
- `a1`~`c3`3×3 合成格的九个格子,`out`:输出格;
- 值 = 贴图文件名(不含 `.png`),**留空 / 省略 = 空格子**;
- 需要显示堆叠数量时写 `名称:数量`,例如 `b2="stick:2"`
- `caption` 可选,显示在组件下方居中说明文字;
- 未运行自动同步且贴图缺失时,格子内会显示一个 `?` 占位,方便发现写错的名字。