(=°ω°)丿
举个例子:如何使用喷溅药水(非滞留型),当其落地后,在当前位置召唤一只僵尸?
主要提供药水落地的检测方法。
版本 1.15.2

⊙u⊙
检测到丢出的药水就换包成滞留型?

CR_019
首先检测玩家扔出药水
生成一个特定实体(可以受到效果的那种)
将这个实体高频tp到最近的(考虑到多人情况)药水实体
当检测到该实体具有药水的特定效果时,生成指定生物。


防止误判的附加保险:药水设定一个复合效果,检测实体时同时检测两个效果和时间

咕噜and呼噜
嗯.......循环命令方块执行
execute at @e[type=minecraft:potion] unless block ~ ~-1 ~ air run summon zombie
试试检测喷溅药水实体下面的方块如果不是空气就召唤僵尸吧 那个-1改小点比较好 比如说-0.5 不然扔出去的时候就召唤了233

TheSuncommand
我的思路是在喷溅药水那边持续生成药水云
如果喷溅药水给砸没了,药水云检测到没有喷溅药水
的存在则执行召唤实体指令
这是实例
/execute as @e[type=minecraft:potion] at @s run summon area_effect_cloud ~ ~ ~ {Tags:["AEC"],Duration:2}
/execute as @e[tag=AEC] at @s unless entity @e[type=minecraft:potion,distance=..3] run summon zombie ~ ~ ~


如果怕误判的话可以把distance指数调低点,AEC的Duration调高点,AEC实测2ticks占用最小,1tick无法召唤出来实体


如果你需要特定的药水瓶子才能召唤实体,可以把循环命令方块换成这样
/execute as @e[type=minecraft:potion,nbt={Potion:{tag:{SA1:1b}}] at @s run summon area_effect_cloud ~ ~ ~ {Tags:["AEC"],Duration:2}


#SA1:1b可替换成任何自定义标签