我的世界锻造 1.8 - 加载块纹理

2022-09-04 01:19:43

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

P.S.:如果这是一个重复,我很抱歉,我只看到了关于Minecraft生物的问题,而不是1.8的纹理(请记住,1.8的Forge API与其他版本不同),所以我决定问自己。

如果我需要澄清任何事情,请让我知道!


答案 1

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

更新块;
更新项目

对于上述两种情况:

  • 从主模组类中删除任何一个。这些现在应该在块/项的构造函数中。GameRegistry.registerBlock
  • 添加一个字段并为其创建一个 getter。private finalname

对于

  • 您将需要2个JSON文件。
    第一个应该被调用并包含以下内容:src/main/resources/assets/{MODID}/models/block{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 ]
            }
        }
    }
    
  • 现在,在 中,您需要再添加 1 个 JSON 文件。使用相同的名称,它应该包含以下代码:src/main/resources/assets/{MODID}/blockstates

    {
        "variants": {
            "normal": { "model": "{MODID}:{BLOCKNAME}" }
        }
    }
    

您应该分别用模组的ID和块的名称替换和。{MODID}{BLOCKNAME}


答案 2

我推荐阅读Minecraft Modding

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

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

参见:块模型


推荐