当前位置: 首页 > 知识库问答 >
问题:

Minecraft Forge 1.8-加载块纹理

司马庆
2023-03-14

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

附注:如果这是一个副本,我很抱歉,我只看到关于Minecraft暴民的问题,而不是1.8版的纹理(记住这一点,1.8版的Forge API和其他版本都不一样),所以我决定问自己。

如果我需要澄清什么,请告诉我!

共有1个答案

翁和正
2023-03-14

纹理在1.8中有很大的不同。以下是一些教程:

正在更新块;
正在更新项。

对于上述两种情况:

  • 从主mod类中删除任何GameRegistry.RegisterBlock。这些现在应该在块/项的构造函数中。
  • 添加Private FinalName字段并为其创建getter。

对于块:

>

  • src/main/resources/assets/{MODID}/model/block中,您需要2个JSON文件。
    第一个文件应称为{BLOCKNAME}.JSON并包含以下内容:

    {
        "parent": "block/cube_all",
        "textures": {
            "all": "{MODID}:blocks/{BLOCKNAME}"
        }
    }
    

    第二个具有相同的名称,进入src/main/resources/assets/{MODID}/model/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中,您还需要一个JSON文件。使用相同的名称,它应该包含以下代码:

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

    您应该将{MODID}{BLOCKNAME}分别替换为mod的ID和块的名称。

  •  类似资料:
    • 下面是我用来创建块(yarriteore.java)的代码: 下面是mod.java文件,我在其中注册了游戏中的块: 我尝试将图标重命名为、和,但它们都不起作用!有人知道我做错了什么吗? 编辑:我也试过.png和.jpeg文件,但它们都不工作... 编辑:我有在src/main/resources/assets/nonameyetmod/textures/blocks文件夹中的项目。

    • 我正在尝试自学java语法,并将minecraft作为一个平台进行深入研究。但是我遇到了一个问题,因为没有加载我的纹理。就这点而言,我的本地化也是如此。这是我的代码块 这是我的课程 我的纹理保存在 根据日志,它无法找到我的纹理。这是我得到的信息 客户端加载并显示“我的项目”,但带有默认的黑色和紫色纹理。我做错了什么?我想这可能与我的命名约定有关,因为。lang文件也不会被读取,我给我的块起一个友好

    • 嘿,我不能让我的纹理出现,我不知道怎么了。辅导没有帮助。这是我的代码: spriteX=0,spriteY=0,spriteW=400,spriteL=400,x=0,y=0 这是我得到的输出:输出窗口 正如你所见,黑色三角形显示得很好,但没有纹理

    • 我一直试图让纹理在opengl 3.1下工作,在ubuntu 13.04上运行的intelHD图形2000/3000显卡上。我遇到的问题是纹理要么不加载,我试图纹理的基本三角形变成黑色,要么纹理中的一些颜色会加载,但不会加载整个图像。我使用原始图像文件作为源或使用libjpeg加载jpeg得到相同的结果。 我的着色器如下所示: 创建纹理glGenTexture(1, 还有渲染功能 几何和纹理坐标

    • 加载纹理贴图集 可以使用Pixi的loader来加载纹理贴图集。如果是用Texture Packer生成的JSON,loader会自动读取数据,并对每一个帧创建纹理。下面就是怎么用loader来加载treasureHunter.json。当它成功加载,setup方法将会执行。 loader .add("images/treasureHunter.json") .load(setup); 现

    • 在理想情况下,如果屏幕分辨率为1024x768,那么在给定时刻只需要786432 texel,2兆字节的内存就足够了。但在现实世界中,有管理成本,所以纹理需要更多的内存。 纹理流可以降低纹理的内存成本,也就是说,在给定时刻并不需要所有纹理的mipmap。纹理需要0级mipmap,因为它靠近相机,如果它离当前相机很远,5到11级mipmap可能就足够了。相机在场景中移动一段时间,一些mipmap可以