超神小枫
吃指定的食物获得指定的buff
版本1.12

0o酱
本帖最后由 0ojixueseno0 于 2020-2-1 01:22 编辑

scoreboard建立一个类型为使用物品的计分项,当玩家吃掉食物,计分项会加分,接下来怎么搞不用我说了吧

算了给个例子吧:
  1. /scoreboard objectives add a stat.useItem.minecraft.cooked_beef
复制代码

建立一个名为1的计分项,记录玩家吃熟牛肉的次数
  1. /scoreboard players test @a a 1
复制代码
检测玩家吃牛肉,连接一个条件命令方块
  1. /effect @a[score_a_min=1] hunger 10 1 true
复制代码
给予这个玩家饥饿1,10秒,无粒子的效果
  1. /scoreboard players remove @a[score_1_min=1] a 1
复制代码
移除吃食物次数

qq568129016
试试这个
https://www.mcbbs.net/thread-729212-1-1.html

Ruainbow_
如果只是检测食物物品ID的话,二楼的方法即可。

如果需要“食用特定的食物触发效果”,可以使用进度检测玩家行为,当玩家食用带有特定NBT的食物时就会触发了。
进度的生成可以使用生成器,或者自助查看教程、wiki
1.12的进度应该是放在 存档名字/data/advancements/下面的。

进度的“奖励”选项中设为触发奖励函数,然后函数中输入一条effect命令,effect @s 效果id 即可。
函数放在data/functions/下面,是后缀为.mcfunction的文件,用记事本即可编辑,每行一条命令,可以空行,用#开头表示是备注。

Aurora_Feather
先创建一个玩家计算吃某种食物数量的记分板,这里以苹果为例
/scoreboard objectives add eat stat.useItem.minecraft.apple
然后放一个,保持开启输入
testfor @a[score_eat_min=1]
然后在后接一个,箭头对准,条件制约保持开启输入
effect @a[score_eat_min=1] 效果英文名 时间 等级
最后再接一个,输入scoreboard players set @a[score_eat_min=1] eat 0

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