Minecraft Forge 1.8 – 加载块纹理
我刚刚开始学习Java,同时修改了Minecraft。 我已经看过一个关于使用Minecraft Forge API将块添加到游戏中的教程,但我遇到了问题。 不再有“.setBlockTextureName()”方法,所以我不知道该怎么做。 我在游戏中添加了一个简单的块,但它没有纹理,我想为它添加纹理。 我如何为Minecraft 1.8做这个?
PS:如果这是重复的,我很抱歉,我只看到有关Minecraft怪物的问题,而不是1.8的纹理(记住这一点,1.8的Forge API与其他版本不同),所以我决定问问自己。
如果我需要澄清任何事情,请告诉我!
纹理在1.8中非常不同。 以下是一些教程:
更新块 ;
更新项目 。
对于以上两种情况:
- 从main mod类中删除任何
GameRegistry.registerBlock
。 这些现在应该在block / item的构造函数中。 - 添加
private final
name
字段并为其创建一个getter。
对于块 :
-
在
src/main/resources/assets/{MODID}/models/block
您将需要2个JSON文件。
第一个应该被称为{BLOCKNAME}.json
并包含这个:{ "parent": "block/cube_all", "textures": { "all": "{MODID}:blocks/{BLOCKNAME}" } }
第二个具有相同的名称,位于
src/main/resources/assets/{MODID}/models/item
,并具有以下代码:{ "parent": "{MODID}:block/{BLOCKNAME}", "display": { "thirdperson": { "rotation": [ 10, -45, 170 ], "translation": [ 0, 1.5, -2.75 ], "scale": [ 0.375, 0.375, 0.375 ] } } }
-
现在在
src/main/resources/assets/{MODID}/blockstates
,您还需要1个JSON文件。 使用相同的名称,它应该保存此代码:{ "variants": { "normal": { "model": "{MODID}:{BLOCKNAME}" } } }
您应该分别用您的mod的ID和块名替换{MODID}
和{BLOCKNAME}
。
我建议阅读Minecraft Modding
对于1.8,Minecraft渲染块的方式发生了重大变化。 以前,块的形状是在java代码中定义的。 这意味着(例如)BlockTorch将始终具有相同的形状,并且只能更改纹理。 Minecraft现在使用模型文件来定义形状和纹理。
特别是上面几页的“一些关键点的澄清”。
另请参见: 块模型