约 973 字
预计阅读 2 分钟
Fabric开发:1.21.4版本的物品纹理问题解决方案
2025-02-06

博主按照Fabric Wiki上注册物品的页面完成了适用于1.21.4版本的物品注册。

尽管物品注册成功了,但是纹理却始终添加失败。

经过探索后,博主发现,Fabric对于1.21.2+版本的物品纹理添加与以往版本有所差异,但似乎官方教程没来得及更新这一点。

下面我将以ID为example_item的物品纹理注册为例,说明新旧版本的不同实现方式。

Note
下文的assets文件夹均在项目根目录下的src/main/resources文件夹下

对于非1.21.2+版本的物品纹理添加,首先要准备一个.png格式的纹理图像,文件名最好与物品id相同,并存储在assets/<mod id here>/textures/item文件夹中。

我注册的物品id为example_item,MOD ID为changlecat_mod,那么物品纹理文件的位置应该为assets/changlecat_mod/textures/item/example_item.png

然后需要在assets/<mod id here>/models/item文件夹下创建一个模型JSON文件,文件名称与物品相同。

我的···/models/item/example_item.json:

{
  "parent": "item/generated",
  "textures": {
    "layer0": "changlecat_mod:item/example_item"  // 对应纹理路径
  }
}

关于模型JSON的内容的分析,这里不再赘述,不知道的小伙伴可以参考这里

到目前为止,适用于非1.21.2+版本的简单物品纹理添加就完成了。

src/main/resources/
└── assets/
    └── changlecat_mod/
        ├── textures/
        │   └── item/
        │       └── example_item.png
        └── models/
            └── item/
                └── example_item.json

1.21.2+版本的简单物品纹理添加需要在传统步骤上追加一项:在assets/<mod id here>/文件夹下添加一个items文件夹,并在items文件夹下创建一个文件名与物品ID相同的JSON文件。

我的···/items/example_item.json:

{
  "model": {
    "type": "minecraft:model",
    "model": "changlecat_mod:item/example_item"
  }
}

现在,你就可以进游戏去检验效果了。

src/main/resources/
└── assets/
    └── changlecat_mod/
        ├── textures/
        │   └── item/
        │       └── example_item.png
        ├── models/
        │   └── item/
        │       └── example_item.json
        └── items/          # 1.21.2+新增
            └── example_item.json

新JSON的具体写法请参考:Fabric for Minecraft 1.21.4|Fabric

Fabric开发:1.21.4版本的物品纹理问题解决方案
https://changlecat.me/posts/deal_with_1.21.4_fabric_texture_problem/
作者
Changle_cat
发布于
2025-02-06