Skip to content

🎨 界面纹理 ​

本章将会讲述如何向 MMOInventory 中的自定义玩家界面添加自定义纹理。

问题 ​

如下为无贴图的自定义界面示例。如你所见,原版格子相当不美观,我们需要将其遮住。

自定义字体 ​

默认情况下,MMOInventory 会利用自定义字体处理界面贴图。在本教程中,我们默认界面配置位于 MMOInventory/inventory/default_mmoinventory.yml。

YAML
ui_layout:
  # .....
  name:
    self: "&f%mythiclib_space_-17%\u40E0%mythiclib_space_-169%<#3F3F3F>Equipment"
    other: "&f%mythiclib_space_-17%\u40E0%mythiclib_space_-169%<#3F3F3F>Equipment of {name}"

注意这里有两个名字,一个是打开自己界面的标题,另一个则是观察其他玩家界面时的标题。另外还需注意:

  • \u40E0 是 MMOInventory 纹理包默认使用的自定义字符。
  • %mythiclib_space_-17% 是 MythicLib 使用的变量,会插入一个 -17 单位宽的空白。
  • <#3F3F3F> 为 Minecraft 默认的界面字体颜色(至 1.21.8)。

MMOInventory 准备了四套开箱即用的界面纹理。你可以自行选择一款!如下表格详细介绍了它们。

纹理 行数 字符 图例
经典 4 \u40E0
经典 6 \u40E1
美化 6 \u40E2
Oraxen 风格 5 \u40E3

低于 1.20 的版本 ​

在 1.20 以下的版本,物品模型有一个 display.item.scale 参数可以实现自定义界面。通过使用均匀灰色纹理充当填充物,你可以将其设置为 1.1(110% 纹理大小),可以让物品溢出边框,盖住原版的格子图案。

旧模型文件

便于参考引用,如下为用于填充纹理的模型文件。需要注意的是,其为均匀的灰色( #C6C6C6,原版背景色,至 1.21.8)纹理。

JSON
{
  "parent": "item/handheld",
  "textures": {
    "layer0": "mmoinventory:item/fill"
  },
  "display":{
    "gui": {
        "rotation": [ 0, 0, 0 ],
        "translation": [ 0, 0, 0 ],
        "scale": [ 1.1, 1.1, 1.1 ]
    }
  }
}

在最近的版本(1.21 以上),这种方法已经无法使用。虽然 scale 参数仍然存在,但这个特性已被修复。因此,我们建议通过自定义字体完全覆盖原版界面的纹理。好消息是,这种方法非常简单,你也可以借此自定义背包界面的样式。

贡献者

页面历史