MuMaple
本帖最后由 MuMaple 于 2020-3-31 14:43 编辑

我原本没测试这个矿物词典,但是我发现今天使用出现了
我注册了4个名为soul的矿物词典,但是只要第一个写的可以被注册进去
而且控制台也提醒了这句话A broken ore dictionary registration with name soul has occurred. It adds an item (type: class com.mumaple.sakuratechnology.Items.SakuraSoul) which is currently unknown to the game registry. This dictionary item can only support a single value when registered with ores like this, and NO I am not going to turn this spam off. Just register your ore dictionary entries after the GameRegistry.
TO USERS: YES this is a BUG in the mod SakuraTechnology report it to them!
我觉得大概意思是可能我的矿物词典注册调用比我mod的物品更早导致找不到东西?
但是我也把注册的位置进行了调换依旧还有这个问题
实在想不出办法了,求助下大佬们

MuMaple
而且不只是这个soul
我注册的所有东西都提示了这个错误

MuMaple
解决办法:
因为之前照着教程写的
在这个矿物词典加载类的构造函数有个参数是FMLpre那个事件,导致这个类只能在pre阶段被调用
然后我删除了这个参数,因为这个参数并不会影响构造函数里面代码
然后把它移到Init阶段再调用就不会出现以上问题

MuMaple
补上一句,楼主版本1.12.2

3TUSK
虽然楼主已经解决了,但是:
大概意思是可能我的矿物词典注册调用比我mod的物品更早导致找不到东西?

没错就是因为这个。
RegistryEvent.Registry<Item> 发布的时间大约是 FMLPreInit 和 FMLInit 之间。

MuMaple
3TUSK 发表于 2020-4-2 03:09
虽然楼主已经解决了,但是:

没错就是因为这个。

感谢大佬补充

第一页 上一页 下一页 最后一页