我试图在我的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)
请帮助我无法找到解决此问题的任何方法。如果您需要更多代码,请询问。
答案 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以了解通常情况下的位置