# 物品贴图库 本目录存放 `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` 可选,显示在组件下方居中说明文字; - 未运行自动同步且贴图缺失时,格子内会显示一个 `?` 占位,方便发现写错的名字。 ### pattern 别名模式(另一种写法) 不想数格子时,可以用 `pattern` 先画好形状,再为每个字符别名指定物品: ```markdown {{< crafting pattern="a a a\nb b b\nc c c" a="diamond" b="stick" c="" out="diamond_pickaxe" caption="钻石镐" >}} ``` - `pattern` 共 9 个 token(3 行 × 3 列),**必须写在一行内**,行间用 `\n` 表示; - 每个 token 对应一个同名参数(`a`、`b`、`c`…),参数值就是物品 id; - token 也可以直接写物品 id:`pattern="diamond stick ."`; - `.` 表示空格子; - 同时给出 `pattern` 和 `a1`~`c3` 时,以 `pattern` 为准(`out` 两者通用)。