开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[展示] 基岩版脚本升级1.20必须避坑

 发表于 2023-6-13 11:25:05 来自手机|显示全部楼层|阅读模式 IP:广东省
本帖最后由 EarthDLL 于 2023-6-13 12:01 编辑

最近,Minecraft终于出了1.20.0正式版
一般来讲,我们只需要修改把mojang改名的API就行了
但是,在1.20中,貌似...
Screenshot_20230613-105600.png
?doesn't not have required privileges?
之前没遇到这样的错误啊?而且我也没改对应的地方啊!
这个错误直译过来就是“没权限”
什么权限?作弊?我打开了啊?
仔细看了看文档,基本上没有改动,仅仅多了个提示:
IMG_20230613_111548.jpg
This function can't be called in read-only mode.
只能在只读模式下运行?这又是什么意思?

在网上搜,无论是错误信息还是这条提示,都没有结果。
gametest框架的GitHub界面也没有。
最后我把希望寄托于抹酱的bug反馈界面

当我搜到“Entity.kill()”的时候,终于找到答案了!
链接
评论区的大佬指向了一个BedrockDev的教程
(这个网站的gametest页面很久很久很久没更新了,所以我没看)
Screenshot_20230613-112912.png
简单来说,before类型的事件往往要在1tick内完成回调,但是kill()之类的能修改存档的函数需要1tick运行,如果多次修改就会发生报错。
举例:在一个before事件中你修改5次游戏时间,但是由于系统的原理,一个tick只能修改一次,因此需要5tick,但是before事件限制了1tick!

在旧版本,这会导致你的游戏卡住4个tick。所以新版本直接报错,避免卡顿!
也就是所谓的“没权限”

那我们要修改的话,就像上面的图片一样使用system.run来延迟执行!
system.run会等到有空闲tick再执行
(其他事件就不必担心,只有before事件才有这个问题

看着我6000行的代码,欸~
苦力怕论坛,感谢有您~
 楼主|  发表于 2023-6-13 12:02:35 来自手机|显示全部楼层 IP:广东省
应该放教程区的,但是我觉得大部分开发者也不会看啊
2#2023-6-13 12:02:35回复收起回复
苦力怕论坛,感谢有您~
 发表于 2023-6-13 16:01:27 来自手机|显示全部楼层 IP:安徽省
你玩mc是为了什么?
3#2023-6-13 16:01:27收起回复
11mo2023-6-13 23:01IP:安徽省
回复举报
这么好的人才啊
苦力怕论坛,感谢有您~
 发表于 2024-7-19 17:35:13|显示全部楼层 IP:上海
谢,终于找到问题了 报错:Unhandled promise rejection: ReferenceError: Native property setter [HttpRequest::body] does not have required privileges. 我还以为我自己有问题...
4#2024-7-19 17:35:13回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

 发表于 2024-7-24 00:02:15|显示全部楼层 IP:河南省
好哦,谢谢大佬
5#2024-7-24 00:02:15回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

粤公网安备 44200002445329号 | 由 木韩网络 提供支持 | GMT+8, 2025-1-11 08:03

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4 粤ICP备2023071842号-3