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现在使用模型文件来定义形状和纹理。

特别是上面几页的“一些关键点的澄清”。

另请参见: 块模型