当我尝试向我的 Block | 添加纹理时 Minecraft 崩溃了锻造 1.12.1
Minecraft crashes when I try to add textures to my Block | Forge 1.12.1
Block 注册得很好。它位于创意选项卡 DECORATIVE(或任何名称)上。 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 的幂。
Block 注册得很好。它位于创意选项卡 DECORATIVE(或任何名称)上。 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 的幂。