网易我的世界论坛

标题: 关于在事件里修改了参数的问题 [打印本页]

作者: sevenstars    时间: 2021-4-1 00:14
标题: 关于在事件里修改了参数的问题
如果一个模组修改了事件传来的字典,其他人获取到的数据,就是这个开发者修改后的。
有个模组监听了玩家成功放置方块的事件,并且把里面的方块坐标这个参数给改了,结果导致我的模组工作异常
然后那个玩家就来说我的模组出bug了,但这明明不是我的错,还要为这些付出时间成本
我建议官方在获取到游戏引擎的数据后,先把字典拷贝后再传给开发者,避免一个开发者乱修改影响别人
希望官方能解决这个问题,应该会减少很多模组冲突
作者: 果喵    时间: 2021-4-1 09:52

作者: 境界线    时间: 2021-4-1 10:46
我个人观点是,
在官方采取措施之前,你不用在意不理解你的玩家的说法,因为你已经清楚这不是你的问题
把自己心态调整好,这些杂音其实根本就没什么
作者: 不舒服斯基    时间: 2021-4-1 11:46
开发者您好,感谢您的反馈!
我们在旧版文档的事件简介中,写了相关的提醒——“如有需要利用回调参数的字典做其他逻辑,请进行拷贝”;
“有个模组监听了玩家成功放置方块的事件,并且把里面的方块坐标这个参数给改了”,您可以提供下这个模组的信息吗

作者: sevenstars    时间: 2021-4-2 22:06
不舒服斯基 发表于 2021-4-1 11:46
开发者您好,感谢您的反馈!
我们在旧版文档的事件简介中,写了相关的提醒——“如有需要利用回调参数的字 ...


①快速建造(开发者:7stars(也就是我))
②MITE贝爷生存-经典还原(开发者:MC部落)
③JEI物品管理器(开发者:初心)
复现方法:使用快速建造的“两点连线”功能,会发现生成的方块下沉了一格,这个“两点连线”就是使用了“玩家成功放置方块”事件
诡异之处在于,同时安装①和②无bug,同时安装①和③也无bug。但同时安装①②③就会触发此bug,如果此时退出游戏,卸载②或③任意一个,再进入游戏会发现bug消失,退出游戏再安上刚才卸载的mod,进入游戏之后却一切正常。

作者: 不舒服斯基    时间: 2021-4-6 10:48
sevenstars 发表于 2021-4-2 22:06
①快速建造(开发者:7stars(也就是我))
②MITE贝爷生存-经典还原(开发者:MC部落)
③JEI物品管 ...

感谢您的反馈!我们会排查另两个模组,并告知相应的开发者进行修改;
您说的BUG的复现情况,应该是因为模组的加载先后问题:
如果多个模组都同时调用了同一个事件,那么游戏中触发该事件时,会先调用先加载的模组的事件回调函数。




欢迎光临 网易我的世界论坛 (http://mc.netease.com/) Powered by Discuz! X3.3