用户:MashKJo/1.21.1模组开发教程/5.1.第一个物品:修订间差异

无编辑摘要
第41行: 第41行:


=== 数据生成 ===
=== 数据生成 ===
鉴于作者还没研究明白物品/方块模型的数据生成,且复杂的物品/方块模型的数据生成很复杂,一般是在Blockbench中制作,直接导出为JSON,因此作者仍习惯于手写物品/方块模型的JSON,这里就不教数据生成了。
物品模型的对应的DataProvider实现类是ItemModelProvider,其提供了一些辅助方法来简化物品模型的datagen。
 
public class MyItemModelProvider extends ItemModelProvider {
    public MyItemModelProvider(PackOutput output, ExistingFileHelper existingFileHelper) {
        super(output, TutorialMod.MODID, existingFileHelper);
    }
    @Override
    protected void registerModels() {
        basicItem(ModItems.EXAMPLE_ITEM.get());
        //最简单的一个物品模型。
        withExistingParent(ModItems.ANOTHER_EXAMPLE_ITEM.getId().toString(), mcLoc("item/generated"))
                .texture("layer0", ResourceLocation.fromNamespaceAndPath(...))
        //通用的datagen代码,可以通过继续调用#texture增加更多层的纹理。
    }
}
 
简单的物品模型可以这样datagen出来。至于复杂的物品模型(如涉及到不同视角的自定义变换),一般是通过Blockbench做出来的,能直接导出为JSON文件,因此一般不通过datagen生成(虽然也确实可以)。


== 语言文件 ==
== 语言文件 ==
行政员、​优秀编辑者、​界面管理员、​监督员、​管理员、​小部件编辑者
3,417

个编辑