举个例子:如何使用喷溅药水(非滞留型),当其落地后,在当前位置召唤一只僵尸?
主要提供药水落地的检测方法。
版本 1.15.2
主要提供药水落地的检测方法。
版本 1.15.2
检测到丢出的药水就换包成滞留型?
首先检测玩家扔出药水
生成一个特定实体(可以受到效果的那种)
将这个实体高频tp到最近的(考虑到多人情况)药水实体
当检测到该实体具有药水的特定效果时,生成指定生物。
防止误判的附加保险:药水设定一个复合效果,检测实体时同时检测两个效果和时间
生成一个特定实体(可以受到效果的那种)
将这个实体高频tp到最近的(考虑到多人情况)药水实体
当检测到该实体具有药水的特定效果时,生成指定生物。
防止误判的附加保险:药水设定一个复合效果,检测实体时同时检测两个效果和时间
嗯.......循环命令方块执行
execute at @e[type=minecraft:potion] unless block ~ ~-1 ~ air run summon zombie
试试检测喷溅药水实体下面的方块如果不是空气就召唤僵尸吧 那个-1改小点比较好 比如说-0.5 不然扔出去的时候就召唤了233
execute at @e[type=minecraft:potion] unless block ~ ~-1 ~ air run summon zombie
试试检测喷溅药水实体下面的方块如果不是空气就召唤僵尸吧 那个-1改小点比较好 比如说-0.5 不然扔出去的时候就召唤了233
我的思路是在喷溅药水那边持续生成药水云
如果喷溅药水给砸没了,药水云检测到没有喷溅药水
的存在则执行召唤实体指令
这是实例
 /execute as @e[type=minecraft:potion] at @s run summon area_effect_cloud ~ ~ ~ {Tags:["AEC"],Duration:2}
 /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 ~ ~ ~
 /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}
 /execute as @e[type=minecraft:potion,nbt={Potion:{tag:{SA1:1b}}] at @s run summon area_effect_cloud ~ ~ ~ {Tags:["AEC"],Duration:2}
#SA1:1b可替换成任何自定义标签
如果喷溅药水给砸没了,药水云检测到没有喷溅药水
的存在则执行召唤实体指令
这是实例
 /execute as @e[type=minecraft:potion] at @s run summon area_effect_cloud ~ ~ ~ {Tags:["AEC"],Duration:2}
 /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 ~ ~ ~
 /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}
 /execute as @e[type=minecraft:potion,nbt={Potion:{tag:{SA1:1b}}] at @s run summon area_effect_cloud ~ ~ ~ {Tags:["AEC"],Duration:2}#SA1:1b可替换成任何自定义标签