java - 当我尝试向我的方 block 添加纹理时,Minecraft 崩溃了 |锻造1.12.1

标签 java rendering minecraft minecraft-forge

该区 block 注册得很好。它位于创意选项卡“装饰”(或任何名称)上。该 block 是一个紫黑色的立方体(即使当我放置它时),所以我尝试向我的 block 添加一些纹理。纹理文件的分辨率是 127 x 127。这是我的代码:

@Mod.EventBusSubscriber
public final class ItemModelRegistrar {
    @SubscribeEvent
    public static void onModelRegistry(ModelRegistryEvent event) {
        Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(MyMainModClassInHere.itemCreepyFace01, 0, new ModelResourceLocation("MyModIDHere:creepy_face_01", "inventory"));
    }
}

这只是我的纹理分辨率的问题吗?如果是,请告诉正确的做法(不改变纹理)。

最佳答案

您正在使用的注册纹理的方法已过时,不应再使用。相反,您应该使用 ModelLoader.setCustomModelResourceLocation。这是一个例子:

ModelLoader.setCustomModelResourceLocation(
    Item.getItemFromBlock(blockInstance),
    metadataValue,
    new ModelResourceLocation("blockRegistryName", "inventory")
);

您可能遇到的另一个问题是您的纹理为 127x127。 16x16 可能是您最安全的选择,但如果您想使用更高分辨率的内容,请始终使用 2 的幂。根据您的情况,看看是否可以将其提高到 128x128,或将其降低到另一个 2 的幂。

关于java - 当我尝试向我的方 block 添加纹理时,Minecraft 崩溃了 |锻造1.12.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46094825/

相关文章:

html - 是否有适用于 Ruby 的 HTML 浏览器渲染引擎?

java - 为某些玩家隐藏实体 - Spigot/Bukkit - Java

java - MineCraft 启动器代码无法使用 CSharp

java - 将 .jar 文件提取到目录,添加新文件,然后在 java 中重新打包成 .jar 文件

java - 静态ArrayList不会在另一个类中修改

java - 在没有用户输入的情况下调度 AWT 事件

java - 在 Java 中检查字符串是否遵循 ISBN-13

java - Switch 设置为 int 参数。创建默认情况以排除字符串,这样就不会读取错误

c# - 以 2D 形式渲染等距文本

pdf - 在 MATLAB 中将 "heavy"图保存为 PDF - 渲染问题