由于锻造标准最近已经发生变化,很难在本网站上找到适用的帖子,所以我自己就发布了一个帖子。我正在尝试为项目添加纹理/模型,但在编译时,我看到了:
我使用以下代码注册模型,在初始阶段通过客户端代理调用:
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(modid + ":" + item.getUnlocalizedName().substring(5), "inventory"));
“item”和“modid”在上面的范围内正确定义。
这是项目继承的标准项目模型,位于src / main / resources / assets / ultramc / models / item:
{
"thirdperson_righthand": {
"rotation": [ 0, 0, 0 ],
"translation": [ 0, 3, 1 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson_righthand": {
"rotation": [ 0, -90, 25 ],
"translation": [ 1.13, 3.2, 1.13],
"scale": [ 0.68, 0.68, 0.68 ]
}
}
......以及位于同一地点的实际儿童模型:
{
"parent":"ultramc:item/basic_item",
"textures": {
"layer0":"ultramc:items/iron_nugget"
}
}
有问题的纹理是位于src / main / resources / assets / ultramc / textures / items的16x16 png文件,名为iron_nugget.png。
我不确定我做错了什么,我非常仔细地遵循了教程。任何帮助将不胜感激。谢谢!
修改
这是我的源文件夹,因为为什么不。
答案 0 :(得分:1)
我终于明白了。
首先,"基本项目" JSON是一个坏主意。使用item/generated
完全没问题。以下是未来可能需要此代码的代码:
{
"parent": "item/generated",
"textures": {
"layer0": "modid:item_name"
}
}
另外,有一件事:纹理不应该在assets.modid.textures.items
之下,而应该只在assets.modid.textures
之下,除非你想要更新" layer0" JSON到modid:items/item_name
。哎呀,你可以在你的纹理文件夹下有一个完整的组织系统,只要你把它放在模型文件中,它就可以工作。
最后一条忠告:确保模型文件名与项目的未本地化项目名称完全相同,否则它将无法正常工作。哦是的,纹理也应该总是.png。
感谢大家的帮助,我希望这有助于未来的改装者满足他们的梦想。 :)
答案 1 :(得分:0)
尝试注册这样的项目:
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getUnlocalizedName(), "inventory"));
我不确定,但这应该有效!
-LPMG