今天小编为大家带来我的世界原版食物过期系统,玩家们可以在游戏中让食物有保质期,这样食物就会变得非常的珍贵。
本次发一个食物过期系统,这是我花了两天所做出的系统
不会排版见谅,现在的过期计时只能在玩家背包里面计时
以苹果为例,适用游戏版本1.12.2
/gamerule doTileDrops false
复制代码先关闭方块掉落
/scoreboard objectives add Leaf stat.mineBlock.minecraft.leaves
复制代码创建一个以破坏树叶为准则的计分板,1.12.2不会写破坏橡树树叶
高频:/give @a[score_Leaf_min=10] apple 1 0 {display:{Lore:["新鲜度100%"]}}
复制代码破坏十个树叶后给苹果
高频:/scoreboard players set @a[score_Leaf_min=10] Leaf 0
复制代码
清除玩家的上述计分板
以上指令是封了玩家获得其他苹果的途径
/scoreboard objectives add shelflife trigger 保质期倒计时
复制代码做一个计时的计分板
高频:/scoreboard players remove @ a shelflife 1
复制代码开始保质期倒计时
高频:/scoreboard players set @a[score_sheldlife=-1] sheldlife 500
复制代码保质期倒计时轮回机制
高频:clear @a[score_shelflife=0] apple 0 1 {display:{Lore:["新鲜度100%"]}}
复制代码连锁条件:/give @p apple 1 0 {display:{Lore:["新鲜度80%"]}}
复制代码上两条指令通过计分板的计时轮回减苹果的保质期(更换NBT)
高频:clear @a[score_shelflife=0] apple 0 1 {display:{Lore:["新鲜度80%"]}}
复制代码连锁条件:/give @p apple 1 0 {display:{Lore:["新鲜度60%"]}}
复制代码......
重复以上指令直到
高频:clear @a[score_shelflife=0] apple 0 1 {display:{Lore:["新鲜度20%"]}}
复制代码由于再下去新鲜度为0,所以就直接清除了新鲜度为20%的苹果
如果想调整保质期,那么只需调整变换苹果NBT的命令方块的数量就可以自定义保质期
BUG(特色)最多有一次更换食物NBT的偏差
注意:以上指令只能在玩家的背包中进行计时,一次只能处理一个苹果,之后或许会优化