14

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

PS:如果这是重复的,对不起,我只看到了关于 Minecraft 小怪的问题,而不是 1.8 的纹理(请记住,1.8 的 Forge API 与其他版本不同),所以我决定问自己。

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

4

2 回答 2

23

纹理在 1.8 中非常不同。这里有一些教程:

更新块
更新项目

对于上述两种情况:

  • GameRegistry.registerBlock从主 mod 类中删除任何内容。这些现在应该在块/项目的构造函数中。
  • 添加一个private final name字段并为其创建一个吸气剂。

对于

  • 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}" }
        }
    }
    

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

于 2015-03-17T21:03:43.827 回答
0

我推荐阅读Minecraft Modding

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

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

另请参阅:块模型

于 2016-11-25T08:32:44.763 回答