Minecraft Forge 1.8 - 加载块纹理

时间:2015-01-24 00:58:02

标签: java minecraft minecraft-forge

我刚开始学习Java,同时修改了Minecraft。我已经看过一个关于使用Minecraft Forge API将块添加到游戏中的教程,但我遇到了问题。不再有“.setBlockTextureName()”方法,所以我不知道该怎么做。我在游戏中添加了一个简单的块,但它没有纹理,我想为它添加纹理。我如何为Minecraft 1.8做这个?

PS:如果这是重复的,我很抱歉,我只看到有关Minecraft怪物的问题,而不是1.8的纹理(记住这一点,1.8的Forge API与其他版本不同),所以我决定问自己。

如果我需要澄清任何事情,请告诉我!

2 个答案:

答案 0 :(得分:22)

1.8中的纹理非常不同。以下是一些教程:

Updating Blocks;
Updating Items

对于以上两种情况:

  • 从主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}

答案 1 :(得分:0)

我建议阅读Minecraft Modding

  

Minecraft渲染区块的方式已经发生了显着变化,1.8。以前,块的形状是在java代码中定义的。这意味着(例如)BlockTorch将始终具有相同的形状,并且只能更改纹理。 Minecraft现在使用模型文件来定义形状和纹理。

特别是"对某些关键点的一些澄清"在上面的页面。

另请参阅:Block models