🖼️ 图像
简介
图像显示的核心是字符替换系统。游戏通过字体系统将 Unicode 字符映射到图片文件来渲染纹理。Minecraft 本身使用了多种字体集,同一个字符在不同字体中可以有不同的视觉风格。这就是我们自定义图片设计的基础。
下面的文件树结构展示了自定义字体文件的位置。你不需要手动创建这些文件——此演示仅用于帮助你理解原版字体的工作原理。
assets/[命名空间]/font/[字体名称].json
译者注:这里的命名空间和字体名称不允许使用中文
提示
像 MiniMessage 和 Minedown 这样的富文本组件解析器都支持使用自定义字体。
MiniMessage: <font:namespace:font_name>文本</font>
MineDown: [文本](font=namespace:font_name)
信息
问: 我所在国家的字符会受到影响吗? 我的玩家可以通过聊天、铁砧或其他方式非法使用这些图片吗?
答: 当然不会,除非你使用了 Minecraft 的默认字体(minecraft:default
)。请尽量避免使用该字体,除非你必须这样做。
单字符位图
images:
internal:item_browser:
height: 140
ascent: 18
font: minecraft:internal
file: minecraft:font/gui/custom/item_browser.png
char: '\ub000'
警告
height
值必须始终大于或等于 ascent
值。这是 Minecraft 强制执行的严格要求。
多字符位图
images:
default:icons:
height: 10
ascent: 9
font: minecraft:icons
file: minecraft:font/image/icons.png
chars:
- '\ub000\ub001'
- '\ub002\ub003'
在游戏中预览图像
你可以使用一个非常简单的命令来预览图片效果。你只需将 \ub000
替换为你图片对应的字符即可。
/tellraw @p {"text":"\ub000","font":"minecraft:icons"}

与其他插件的兼容性
在其他插件中使用图片有两种方式:
- 使用同时支持 MiniMessage 或 MineDown 和 PlaceholderAPI 的插件。此时只需使用对应占位符,具体用法请参阅此页面。
- 使用
<image:命名空间:路径>
<image:命名空间:路径:行:列>
<shift:-20>
格式标签,就像我们在 ✏️ 文本格式 中所做的那样。CraftEngine 会在数据包层面将其替换为对应字体字符。
信息
你可以在 config.yml 中找到以下配置,它控制了这些标签的生效范围。
image:
# 通过拦截数据包,你可以在其他插件中使用 <image:...> 和 <shift:...> 标签。
intercept-packets:
system-chat: true
tab-list: true
actionbar: true
...更多选项