堕天使之墓
怎么说呢
打算弄个判定破坏方块后触发的进度
但翻了半天怎么感觉没提供这类......

目前自己的解决方案是检测统计信息
但统计信息这玩意只能限定在一个范围内,导致不能获得就一直不能获得,能获得就一直能......

有没什么破坏方块后触发判定且可以正常移除的写判定方法

Command_Zeus
破坏方块的进度只能用minecraft:tick吧……下属战利品表谓词检测统计信息。
不过战利品表谓词下除了检测统计信息之外,也可以检测记分项吧?创建一个复合准则minecraft.broken的记分项记分试一下?
个人意见仅作为参考。

(=°ω°)丿
听不懂你在说什么(


# 初始化
scoreboard objectives add foo minecraft.broken:minecraft.grass_block "破坏草方块"


# 高频执行 minecraft:tick
execute as @a[scores={foo=1..}] run function foo:example


# 函数 foo:example
say 我破坏了一个草方块!
scoreboard players remove @s foo 1


如果需要确定被破坏方块的位置的话,可以使用战利品表。
例如修改草方块的战利品表,使其在被破坏后掉落带有标记的指定物品,然后使用命令检测该物品的位置即可。
一个使用了该方法的例子:
【原版模组】连锁矿工
https://www.mcbbs.net/thread-843464-1-1.html

尸先peng
建立一个/scroeboard objectives add abc minecraft.broken.minecraft:(方块id)
的计分板,

当计分板为一时给予一个进度给玩家
/execute as @p{scores=[abc=(破坏方块数)]} at @s run advancement (进度id)

(如果你说的进度是指成就的话,可以用数据包来自定义,具体你可以参考wiki
https://minecraft-zh.gamepedia.com/%E8%BF%9B%E5%BA%A6/JSON%E6%A0%BC%E5%BC%8F)

如果是指单纯的地图进度,那就计分板到特定值就执行一个指令就好了
/execute as @p{scores=[abc=(破坏方块数)]} at @s run (需要的指令)

注:该指令版本为1.13+。
下次请说明游戏版本

(指令纯手打,可能有误,如有疑问请私聊)

清风sx
这个我建议不用指令用自定义进度
自己可以到wiki去看看,自定义进度有触发器

第一页 上一页 下一页 最后一页