本帖最后由 iMoonDay 于 2020-8-11 14:46 编辑
我知道有两种方式可以检测某物体的nbt:复制代码复制代码那这两个指令有什么区别吗,如果在函数中大量执行哪个执行快一点?
我知道有两种方式可以检测某物体的nbt:
- execute if entity @e[nbt={...}] run ...
- execute if data entity @e ... run ...
区别应该不大
execute if data entity @e ... run ...
可能会更加自由点 (?)
快不快要看mojang 应该可以忽略
按照命令字面意
一个是
是否存在实体+(选择器)
一个是是否存在实体+(选择器) 并且有指定的data
execute if data entity @e ... run ...
可能会更加自由点 (?)
快不快要看mojang 应该可以忽略
按照命令字面意
一个是
是否存在实体+(选择器)
一个是是否存在实体+(选择器) 并且有指定的data
阴阳师元素祭祀 发表于 2020-8-11 14:52
区别应该不大
execute if data entity @e ... run ...
可能会更加自由点 (?)
那如果execute后面接好多个if data entity的话,和execute if entity相比哪个更好些?
本帖最后由 阴阳师元素祭祀 于 2020-8-11 15:04 编辑
应该都一样
毕竟优化怎么样都看mojang那边 (确信)
看if data entity 和if entity 后面选择器怎么写
如果非要说哪个好
对于写这些命令的人
越短越好吧(?)
iMoonDay 发表于 2020-8-11 14:58
那如果execute后面接好多个if data entity的话,和execute if entity相比哪个更好些?
应该都一样
毕竟优化怎么样都看mojang那边 (确信)
看if data entity 和if entity 后面选择器怎么写
如果非要说哪个好
对于写这些命令的人
越短越好吧(?)
一样
data的作用是返回数据个数
data的作用是返回数据个数
阴阳师元素祭祀 发表于 2020-8-11 15:03
应该都一样
毕竟优化怎么样都看mojang那边 (确信)
我好像听说if entity @e[nbt={...}]他要解析nbt再对比,会不会比if data entity @e更慢点?
本帖最后由 ⊙u⊙ 于 2020-8-10 21:48 编辑
if data可以只检测路径是否存在,少一个值的检测与对比
多条if data的话只要有一条不满足后面的就不会继续检测
解析所以是会慢那么一点,就一点...
iMoonDay 发表于 2020-8-10 21:11
我好像听说if entity @e[nbt={...}]他要解析nbt再对比,会不会比if data entity @e更慢点? ...
if data可以只检测路径是否存在,少一个值的检测与对比
多条if data的话只要有一条不满足后面的就不会继续检测
解析所以是会慢那么一点,就一点...