Minecraft(我的世界)中文论坛

标题: 口是心非--mcpe命令方块无法识别目标选择器参数解决方法

作者: fsxitutu    时间: 2017-6-4 21:07
标题: 口是心非--mcpe命令方块无法识别目标选择器参数解决方法
本帖最后由 fsxitutu 于 2017-6-13 18:37 编辑

相信有的玩家在CB中使用的命令中带参数的目标选择器(如/testfor @e[r=5])时CB输出“无效的指令语法”的log。但为什么有的玩家却能正常使用呢?
经过研究,发现出错的原因是:系统无法将命令解析成commandJSON,进而无法执行命令。
那么,既然知道了原因。那么,如果我们把正确的commandJSON写进去,是不是也能用了。
经过测试,这个方法可行。

材料:
1:可以运行Minecraft的Android手机
2:blocktopograph

以下是实验过程

修改完成后,就不要乱动那个CB里的命令了(其它选项可自由调整),以免系统又把CommandJSON解析成null。
附:testfor命令的CommandJSON模板

希望mojang早日修复这个bug吧。(不知道本帖应属于技巧还是bug,望版主勿删)
目标择器的参数大家参考wiki

本帖方法建议在1.1.0.9测试版使用。

作者: fsxitutu    时间: 2017-6-4 21:33
应该有人需要这种东西的,给点打赏吧
作者: zhegeyeahZY    时间: 2017-6-5 20:24
正在为testfor指令头疼,看到这个简直是福利啊。
感谢楼主
作者: fsxitutu    时间: 2017-6-6 08:12
zhegeyeahZY 发表于 2017-6-5 20:24
正在为testfor指令头疼,看到这个简直是福利啊。
感谢楼主

看来遭遇这个问题的人不少啊
作者: 破损的鞘翅    时间: 2017-6-7 15:49
感谢楼主!我记得在b6的时候还没有这个bug来着,做个地图简直想砸手机

作者: fsxitutu    时间: 2017-6-7 19:56
破损的鞘翅 发表于 2017-6-7 15:49
感谢楼主!我记得在b6的时候还没有这个bug来着,做个地图简直想砸手机

我记得好像build1~7(1.1.0.0~1.1.0.9)都有,只不过早期blocktopograph不支持1.1所以没发现这个问题的原因。
作者: qeweadd    时间: 2017-6-13 10:20
没那么麻烦输入[x=!0,y=!0,z=!0,r=!0]就行,用英文符。
作者: 盆栽W    时间: 2017-6-13 10:28
感谢楼主
作者: fsxitutu    时间: 2017-6-13 18:29
qeweadd 发表于 2017-6-13 10:20
没那么麻烦输入[x=!0,y=!0,z=!0,r=!0]就行,用英文符。

好的,我试试。但“!”是反选的意思吧?如果我想/kill @e[x=10,y=20,z=30,r=5]怎么操作?
作者: qeweadd    时间: 2017-6-14 12:45
本帖最后由 qeweadd 于 2017-6-14 12:54 编辑
fsxitutu 发表于 2017-6-13 18:29
好的,我试试。但“!”是反选的意思吧?如果我想/kill @e[x=10,y=20,z=30,r=5]怎么操作? ...

!只是让参数正常生效并不影响命令的执行。例如我的命令方块电梯tp @a[x=!124,y=!65,z=!-27,r=!2] 124 69 -27。鬼知道又是bugjang的什么特性。
作者: qeweadd    时间: 2017-6-14 15:11
fsxitutu 发表于 2017-6-13 18:29
好的,我试试。但“!”是反选的意思吧?如果我想/kill @e[x=10,y=20,z=30,r=5]怎么操作? ...

type参数就不清楚了。
作者: fsxitutu    时间: 2017-6-14 17:39
type可以直接用。不用什么乱七八糟的方法
作者: fsxitutu    时间: 2017-6-14 17:43
qeweadd 发表于 2017-6-14 15:11
type参数就不清楚了。


type可以直接用。不用什么乱七八糟的方法
作者: fsxitutu    时间: 2017-6-15 19:36
qeweadd 发表于 2017-6-13 10:20
没那么麻烦输入[x=!0,y=!0,z=!0,r=!0]就行,用英文符。

测试可用,但这么做的话系统会把inverted(反选)设为true(实际上并不发生反选,bug)。万一mojang修复这个bug的话你的存档里的CB要大改了。
作者: 企鹅-战场    时间: 2017-7-11 22:24
我发现在1.1以前的版本[比如说1.0.8],CB中的命令[特指带有选择器的命令]是可以继续在1.1的版本使用的,之前没看到你这个版块,我都一直用1.0.8输入指令然后在1.1使用的,看到这个后就方便蛮多了,不过希望Mojang修复这个bug
作者: fsxitutu    时间: 2017-7-13 22:09
企鹅-战场 发表于 2017-7-11 22:24
我发现在1.1以前的版本[比如说1.0.8],CB中的命令[特指带有选择器的命令]是可以继续在1.1的版本使用的,之 ...

真的希望能修复。版本切换,修改NBT,以及上面7楼的加叹号毕竟只是权宜之计。你能向mojang反馈下吗?我英文不好
作者: 企鹅-战场    时间: 2017-7-21 13:16
fsxitutu 发表于 2017-7-13 22:09
真的希望能修复。版本切换,修改NBT,以及上面7楼的加叹号毕竟只是权宜之计。你能向mojang反馈下吗?我英 ...

之前去过官网回复,结果无法点击发送,也是没谁了...
作者: fsxitutu    时间: 2017-7-21 20:01
企鹅-战场 发表于 2017-7-21 13:16
之前去过官网回复,结果无法点击发送,也是没谁了...

好吧……,对官方无语了