3,417
个编辑
MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
(→数据生成) |
|||
| (未显示同一用户的8个中间版本) | |||
| 第19行: | 第19行: | ||
//别忘了在你的入口类构造方法中调用它! | //别忘了在你的入口类构造方法中调用它! | ||
public static void register(IEventBus bus) { | public static void register(IEventBus bus) { | ||
ITEMS.register(bus); | |||
} | } | ||
| 第30行: | 第30行: | ||
{ | { | ||
"parent": "minecraft:item/generated", | |||
"textures": { | |||
"layer0": "tutorialmod:item/one_example_item" | |||
} | |||
} | } | ||
| 第41行: | 第41行: | ||
=== 数据生成 === | === 数据生成 === | ||
物品模型的对应的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.ONE_EXAMPLE_ITEM.get()); | |||
//最简单的一个物品模型。 | |||
withExistingParent(ModItems.ANOTHER_EXAMPLE_ITEM.getId().toString(), mcLoc("item/generated")) | |||
.texture("layer0", ResourceLocation.fromNamespaceAndPath(...)) | |||
//通用的datagen代码,可以通过继续调用#texture增加更多层的纹理。 | |||
} | |||
} | |||
简单的物品模型可以这样datagen出来。至于复杂的物品模型(如涉及到不同视角的自定义变换),一般是通过Blockbench做出来的,能直接导出为JSON文件,因此一般不通过datagen生成(虽然也确实可以)。 | |||
== 语言文件 == | == 语言文件 == | ||
| 第50行: | 第67行: | ||
{ | { | ||
"item.tutorialmod.one_example_item": "One Example Item" | |||
} | } | ||
| 第56行: | 第73行: | ||
{ | { | ||
"item.tutorialmod.one_example_item": "一个示例物品" | |||
} | } | ||
好了,现在这个物品看上去真的没什么问题了。 | 好了,现在这个物品看上去真的没什么问题了。 | ||
=== 数据生成 === | |||
public class ENLanguageProvider extends LanguageProvider { | |||
public ENLanguageProvider(PackOutput output) { | |||
super(output, TutorialMod.MODID, "en_us"); | |||
//第二个参数是你的MODID,第三个参数是生成的语言文件的对应语言的代码。 | |||
} | |||
@Override | |||
protected void addTranslations() { | |||
addItem(ModItems.ONE_EXAMPLE_ITEM, "One Example Item"); | |||
//添加某物品的本地化名。 | |||
//还有其他一些辅助方法,如addBlock、addDimension之类的。 | |||
//还可以直接调用add方法,用于自定义本地化键名的本地化。 | |||
} | |||
} | |||
中文语言文件的LanguageProvider类似,这里就不贴代码了。 | |||
最后不要忘了在GatherDataEvent监听器中添加你的LanguageProvider! | |||