Minecraft 1.9 modding块渲染错误

时间:2016-04-01 15:48:10

标签: java minecraft minecraft-forge

我试图在我的1.9 mod中使用自定义模型渲染一个块,但它在.getItemModelMesher

时出现错误

代码:

public class ModBlocks extends Blocks {
    public static Block wooden_table;
    public static void init() {
        // Create Block
        wooden_table = new Block(Material.wood).setUnlocalizedName("wooden_table").setCreativeTab(CreativeTabs.tabMisc);
        // Register
        GameRegistry.registerBlock(wooden_table, wooden_table.getUnlocalizedName().substring(5));
    }
    public static void registerRenders() {
        registerRender(wooden_table);
    }
    public static void registerRender(Block block) {
        Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block), 0,
                new ModelResourceLocation(
                        Main.MODID + ":" + Item.getItemFromBlock(block).getUnlocalizedName().substring(5),
                        "inventory"));
    }
}

崩溃报告:

---- Minecraft Crash Report ----
Description: Initializing game

java.lang.NullPointerException: Initializing game
    at mcrafterzzfurnituremod.blocks.ModBlocks.registerRender(ModBlocks.java:29)
    at mcrafterzzfurnituremod.blocks.ModBlocks.registerRenders(ModBlocks.java:25)

请帮助我无法找到解决此问题的任何方法。如果您需要更多代码,请询问。

1 个答案:

答案 0 :(得分:-1)

Minecraft.getMinecraft().getRenderItem()

该部分仅存在于INIT阶段,而不是PreInit阶段。那里它仍然是空的。

在preinit中注册变体,

然后在init

中注册网格

请务必通过您的clientproxy而不是commonproxy

来调用它

ps,阅读http://bedrockminer.jimdo.com/modding-tutorials/basic-modding-1-8/blockstates-and-metadata/上的教程并下载示例zip以了解通常情况下的位置