MCTOOLBOX
MC ToolboxMC TOOLBOX

创造

Minecraft 字体 JSON 生成器

创建 Java 资源包位图字体 provider。将匹配的 PNG 放在 assets/<namespace>/textures/font 中,将 JSON 放在 assets/<namespace>/font 中。

位图 provider

已生成 custom.json

{
  "providers": [
    {
      "type": "bitmap",
      "file": "minecraft:font/custom.png",
      "ascent": 7,
      "height": 8,
      "chars": [
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
        "abcdefghijklmnopqrstuvwxyz",
        "0123456789!?.,:;+-*/"
      ]
    }
  ]
}

Minecraft 位图字体 provider 的工作原理

Java 版资源包可以将字符映射到 PNG 精灵图中的单元格。本生成器创建位图 provider JSON,用于关联纹理资源位置、字符行、字形高度和基线位置。它不会创建或修改 PNG,因此此处输入的字符网格必须与您放入资源包中的图像匹配。

字符网格中的每一行代表纹理中等大小单元格的一个水平行。从左到右读取每一行,并保持所有行长度相同。如果 JSON 将字符列在错误的单元格中,Minecraft 将显示相邻的字形。

纹理资源位置

使用带命名空间的资源位置,例如 my_pack:font/custom.png。对应的图像应位于 assets/my_pack/textures/font/custom.png 下。命名空间和路径区分大小写,应使用小写字符。

高度和基线偏移

高度控制渲染字形的高度(像素)。基线偏移使字形相对于文本基线移动。开始时将基线偏移设置为高度下方 1 像素,在 Minecraft 中预览资源包,当字母相对于原版字体过高或过低时进行调整。

JSON 保存位置

下载 custom.json 并将其放在 assets/<namespace>/font 下。文件名将成为字体资源 ID。保存为 assets/my_pack/font/custom.json 的文件可以被支持 font 字段的文本组件引用为 my_pack:custom。

此生成器验证的内容

该工具保持 provider 结构有效,并将每个文本行转换为字符行。它无法检查外部 PNG、验证单元格尺寸、检测重复字符,或确认服务器向玩家发送资源包。

创建并测试自定义 Minecraft 字体

  1. 准备一个透明的 PNG,其字形按规则网格排列。
  2. 输入 PNG 资源位置,并复制确切的字符顺序,每个文本行对应图像的一行。
  3. 设置高度和基线偏移,然后下载 custom.json。
  4. 将 JSON 和 PNG 放入匹配的资源包文件夹中,并在 Minecraft 中重新加载资源。
  5. 测试您打算使用的每个字符,当间距不正确时调整 PNG 或基线偏移。

Minecraft 字体 JSON 常见问题

此工具会创建字体 PNG 吗?

不会。它仅生成位图 provider JSON。请单独创建透明精灵图,并使其单元格顺序与字符网格完全匹配。

为什么 Minecraft 显示错误的字符?

通常原因是 PNG 单元格顺序与 chars 行不匹配。请检查行长度、空白单元格、换行符、命名空间、文件路径以及实际图像尺寸。

这可以替换默认的 Minecraft 字体吗?

资源包可以在默认字体文件中定义 provider,但替换原版字符会影响使用该字体的所有界面。当只有选定的文本组件需要自定义字形时,使用单独的命名空间字体更安全。

重新加载资源包后字体不可见?

确认资源包加载无资源错误,JSON 位于 assets/<namespace>/font,PNG 位于 assets/<namespace>/textures 下,并且 file 字段指向相同的命名空间和纹理路径。