说在前面:
简易,特性:所有等级做的经验瓶包含的经验都一样的。
使用方法:将1个玻璃瓶丢弃在工作台上方即可。
经验储存
探测玻璃瓶是否在工作台上:
/scoreboard players tag @e[type=Item] add sc {Item:{id:"minecraft:glass_bottle",Count:1b,Damage:0s},OnGround:1b}
/execute @e[type=Item,tag=sc] ~ ~ ~ detect ~ ~-.4 ~ minecraft:crafting_table 0 scoreboard players tag @e[type=Item,tag=sc,c=1,r=1] add ysc
scoreboard players tag @e[type=Item] add sc {Item:{id:"minecraft:glass_bottle",Count:1b,Damage:0s},OnGround:1b} 是给所有单个(Count:1b)存在的 玻璃瓶物品 实体添加 sc 标签。
execute @e[type=Item,tag=sc] ~ ~ ~ detect ~ ~-.4 ~ minecraft:crafting_table 0 scoreboard players tag @e[type=Item,tag=sc,c=1,r=1] add ysc 是将所有在工作台上的具有sc 标签的实体添加 ysc 标签。
探测附近玩家是否符合条件
execute @e[type=Item,tag=ysc] ~ ~ ~ execute @p[lm=0,l=0,r=3] ~ ~ ~ tellraw @p [{"selector":"@p","color":"white"},{"text":" 你的经验不足!","color":"red"}]
execute @e[type=Item,tag=ysc] ~ ~ ~ execute @p[lm=1,r=3] ~ ~ ~ execute @e[type=Item,tag=ysc] ~ ~ ~ summon Item ~ ~ ~ {Item:{id:"minecraft:experience_bottle",Count:1,Damage:0},Age:32768}
execute @e[type=Item,tag=ysc] ~ ~ ~ xp -1l @p[lm=1,r=3]
execute @e[type=Item,tag=ysc] ~ ~ ~ give @p[lm=0,l=0,r=3] glass_bottle
kill @e[type=Item,tag=ysc]
Tips:请依次按照顺序高频执行。