pppopipupu
我在1.18.2forge写了个物品,但是一运行就出现Registry is already frozen错误,我看错误指向的是这个类 ResourceItem.txt (446 Bytes, 下载次数: 3) (我上传不了java文件这是我写的资源物品类,所有资源物品都继承它,但是它仅仅就是指定了一下物品的最大堆叠数量和属于哪个创造模式物品栏而已
这是我的物品注册类: ItemInit.txt (1.16 KB, 下载次数: 4)
这是我的主类: Main.txt (1.08 KB, 下载次数: 3)
这是我的创造模式物品栏类: ModTab.txt (538 Bytes, 下载次数: 3)
这是日志: 新建 文本文档 (2).txt (63.33 KB, 下载次数: 2)
希望能有大佬解答



洞穴夜莺
Initialize和Items类是啥?

pppopipupu
洞穴夜莺 发表于 2022-12-26 15:15
Initialize和Items类是啥?

items是用来存储final物品对象的,Initialize是用来加载items里的对象的

洞穴夜莺
pppopipupu 发表于 2022-12-26 15:58
items是用来存储final物品对象的,Initialize是用来加载items里的对象的

那你发出来啊

pppopipupu

Initialize.txt (249 Bytes, 下载次数: 2) Items.txt (338 Bytes, 下载次数: 3) 只有一个物品

洞穴夜莺

你应该在DeferredRegistry::register的回调里面去new item

pppopipupu
洞穴夜莺 发表于 2022-12-26 16:14
你应该在DeferredRegistry::register的回调里面去new item

new item?可是这里的item是函数的参数啊

洞穴夜莺
pppopipupu 发表于 2022-12-26 16:32
new item?可是这里的item是函数的参数啊

我上个回复所说的item是泛指,指你的所有物品类都应该在回调中实例化,而不是先实例化后在回调里返回

pppopipupu
洞穴夜莺 发表于 2022-12-26 17:36
我上个回复所说的item是泛指,指你的所有物品类都应该在回调中实例化,而不是先实例化后在回调里返回 ...

好,我去试试

pppopipupu
本帖最后由 pppopipupu 于 2022-12-27 16:09 编辑
洞穴夜莺 发表于 2022-12-26 17:36
我上个回复所说的item是泛指,指你的所有物品类都应该在回调中实例化,而不是先实例化后在回调里返回 ...

好了好了现在解决了,谢谢