You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

我的世界1.20.1:检测特定方块存在时执行指定命令的问题排查

Minecraft 1.20.1 放置白色羊毛触发召唤命令失效问题解决

问题说明

  • 需求:放置白色羊毛方块时,自动在该方块下方执行召唤指令:
    summon minecraft:item ~ ~ ~ {Tags:["123"],PickupDelay:32767,Item:{id:"minecraft:apple",Count:1b}}
  • 自行编写的无效命令:
    execute if block ~ ~ ~ minecraft:white_wool run summon minecraft:item ~ ~-1 ~ {Tags:["123"],PickupDelay:32767,Item:{id:"minecraft:apple",Count:1b}}

失效原因

  1. 执行逻辑错误:该命令仅检测当前执行位置的方块(比如你站立的位置),不会主动监听方块放置行为,只有当你站在白色羊毛上手动执行时才会触发,无法响应放置操作。
  2. 缺乏持续检测:单次执行的命令无法持续监控世界中的方块变化,无法自动响应后续的羊毛放置动作。

解决方案(循环命令方块实现)

步骤1:设置循环检测与位置标记

放置一个循环命令方块,设置为「始终活动」「无条件」,输入以下命令:
execute as @a at @s if block ~ ~-1 ~ minecraft:white_wool unless entity @e[type=armor_stand,tag=wool_marker,distance=..1,positioned ~ ~-1 ~] run summon minecraft:armor_stand ~ ~-1 ~ {Tags:["wool_marker"],Invisible:1b,Marker:1b,NoGravity:1b}

步骤2:触发物品召唤指令

在循环命令方块后连接一个连锁命令方块(设置为「始终活动」「无条件」),输入:
execute as @e[type=armor_stand,tag=wool_marker,tag=!spawned_apple] at @s run summon minecraft:item ~ ~-1 ~ {Tags:["123"],PickupDelay:32767,Item:{id:"minecraft:apple",Count:1b}}

步骤3:标记已处理的羊毛位置

再连接一个连锁命令方块(同上设置),输入:
tag @e[type=armor_stand,tag=wool_marker,tag=!spawned_apple] add spawned_apple

逻辑说明

  • 循环命令持续检测玩家脚下是否有新放置的白色羊毛,用隐形盔甲架标记该位置,避免重复触发。
  • 连锁命令针对未处理的标记位置,在羊毛下方召唤指定苹果物品,完成后标记为已处理,防止重复召唤。

内容的提问来源于stack exchange,提问作者Mops Lops

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 09:45:00