Minecraft Forge 1.8 - 加载块纹理

MrS*_*ank 14 java minecraft minecraft-forge

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

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

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

Art*_*ode 22

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

更新块 ;
更新项目.

对于以上两种情况:

  • GameRegistry.registerBlock从主mod类中删除任何.这些现在应该在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}"
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

    第二个具有相同的名称,进入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 ]
            }
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 现在src/main/resources/assets/{MODID}/blockstates,您还需要1个JSON文件.使用相同的名称,它应该保存此代码:

    {
        "variants": {
            "normal": { "model": "{MODID}:{BLOCKNAME}" }
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

此时应更换{MODID},并{BLOCKNAME}用你的MOD的ID和块的名字分别.