Java (Forge)实例化扩展ItemAxe的新类不起作用

Java (Forge)实例化扩展ItemAxe的新类不起作用,java,class,minecraft-forge,Java,Class,Minecraft Forge,我正在创建Minecraft 1.12.2 mod forge 1.12.2- 14.23.1.2555和我创建了一个扩展ItemAxe的新类。当我将新类实例化为变量时,该变量返回null。因此,在注册该项时,会引发NullPointerException。在我尝试将ItemAxe的扩展名改为ItemAxe之后,我开始考虑这个问题。运行了代码,它成功了。将其更改回ItemAxe,运行代码,但不起作用。我创建的ItemAxe类的源代码与我创建的ItemPickaxe类完全相同,只是Pickaxe在

我正在创建Minecraft 1.12.2 mod forge 1.12.2- 14.23.1.2555和我创建了一个扩展ItemAxe的新类。当我将新类实例化为变量时,该变量返回null。因此,在注册该项时,会引发NullPointerException。在我尝试将ItemAxe的扩展名改为ItemAxe之后,我开始考虑这个问题。运行了代码,它成功了。将其更改回ItemAxe,运行代码,但不起作用。我创建的ItemAxe类的源代码与我创建的ItemPickaxe类完全相同,只是Pickaxe在ItemAxe类中被替换为Axe。我知道我没有使用Forge for 1.12.2的最新版本,但我使用的是这个版本,因为它在从IDE运行代码时对我更有效。有办法解决这个问题吗?我知道这是一个已知的错误

资料来源:

//CustomAxe.java 公共类CustomAxe扩展了ItemAxe{ 公共CustomAxeToolMaterial材质,字符串名称{ 超材料; this.setRegistryNamename; this.setUnlocalizedName; 此.setCreativeTabCreativeTabs.TOOLS; } } //Main.java 公共静态项目南洋斧; 公共静态工具; @事件处理程序 public void preInitFMLPreInitializationEvent事件 { austrone=EnumHelper.addToolMaterial“austrone”,42007,12.0F,66.0F,30; austroneAxe=新CustomAxeAstorone,“austrone_axe”; } //CommonProxy.java @认购人 公共静态无效registerItemsRegistryEvent.Register事件{ event.getRegistry.RegisteralMain.austroneAxe;//此处引发异常 }
在进一步研究这个问题之后,我解决了这个问题

默认的超级构造函数不适用于ItemAxe。因此,您必须使用二级构造函数,其中必须提供工具材质、攻击伤害浮动和攻击速度浮动。在我的情况下,以下代码行适用于我:

超级材料,材料。攻击伤害,1.0F;
你能提供堆栈跟踪并回答你自己的问题吗。。。当然是大脑袋。