无敌三脚猫 发表于 2023-7-20 15:06
不是bug,是特性
不过你可以先召唤一个已驯服的生物,比如狼,把玩家做为主人,把狼作为伤害来源,不写caus ...
感谢大佬解疑
不过对于命令这种技术性内容,存在影响使用的特性(而不称为bug),本人确实没见过
大佬的方法也存在不足之处。这样执行命令,会导致被攻击生物对狼产生仇恨,而非玩家,与预期效果不同;命令结束后,要杀死狼时会产生不希望出现的死亡效果
MC新人新 发表于 2023-7-20 15:49
感谢大佬解疑
不过对于命令这种技术性内容,存在影响使用的特性(而不称为bug),本人确实没见过
大佬的 ...
哦,还有仇恨问题啊……那就再让玩家对生物A造成一次0伤害,选择没有击退的那种伤害类型,这样仇恨应该能到玩家身上
狼可以tp到虚空里杀死,这样就看不见了
这不是命令的特性,是受伤的特性,你射出一箭,被击中的生物也会以你的方位,而不是箭的方位被击退,不过这种事一般看不出来,除非tp
我做了一些实验,不知道能否对你有所启发:
1.生成一个火球和一个恶魂,然后执行
/damage @e[type=ghast,limit=1] 50 minecraft:fireball by @e[type=fireball,limit=1] from @s
结果获得【见鬼去吧】进度,而其他指令都不行
2.朝地上乱射一箭,在50格外对骷髅执行
/damage @e[type=minecraft:skeleton,limit=1] 50 minecraft:arrow by @e[type=minecraft:arrow,limit=1] from @s
结果获得【狙击手的对决】进度,而其他指令都不行
3.用瞬间伤害II的药水瓶丢怪物,结果发现击退方向与药水瓶无关,只与怪物与玩家位置有关
这个第3点就很诡异,简直可以算作bug,应该和楼主的困惑有异曲同工之处
所以我有如下猜测:
一.by entity并非没有作用,从1,2就可以看出,在涉及间接实体的时候提供判定作用
二.wiki的表述不准确,当引入了 from cause 后情况就发生了变化,至少我们的实验结果都是这样
三.wiki中有提到“可用于指定弹射物或被激活的TNT为伤害的直接来源”,但是我用这两种实体作为by entity,却都无法改变击退方向,所以我觉得可能by entity是代码层面的,普通指令无法指定,毕竟这两种实体都是转瞬即逝,在造成伤害后就消失了
综上,我觉得是代码层面的问题,属于是Mojang乱来(
1.生成一个火球和一个恶魂,然后执行
/damage @e[type=ghast,limit=1] 50 minecraft:fireball by @e[type=fireball,limit=1] from @s
结果获得【见鬼去吧】进度,而其他指令都不行
2.朝地上乱射一箭,在50格外对骷髅执行
/damage @e[type=minecraft:skeleton,limit=1] 50 minecraft:arrow by @e[type=minecraft:arrow,limit=1] from @s
结果获得【狙击手的对决】进度,而其他指令都不行
3.用瞬间伤害II的药水瓶丢怪物,结果发现击退方向与药水瓶无关,只与怪物与玩家位置有关
这个第3点就很诡异,简直可以算作bug,应该和楼主的困惑有异曲同工之处
所以我有如下猜测:
一.by entity并非没有作用,从1,2就可以看出,在涉及间接实体的时候提供判定作用
二.wiki的表述不准确,当引入了 from cause 后情况就发生了变化,至少我们的实验结果都是这样
三.wiki中有提到“可用于指定弹射物或被激活的TNT为伤害的直接来源”,但是我用这两种实体作为by entity,却都无法改变击退方向,所以我觉得可能by entity是代码层面的,普通指令无法指定,毕竟这两种实体都是转瞬即逝,在造成伤害后就消失了
综上,我觉得是代码层面的问题,属于是Mojang乱来(
无敌三脚猫 发表于 2023-7-20 16:07
哦,还有仇恨问题啊……那就再让玩家对生物A造成一次0伤害,选择没有击退的那种伤害类型,这样仇恨应该能 ...
感谢答复
关于特性的问题是本人理解有问题