经验储存

By MCSugar_cane    2017/10/27

如果你担心死亡后经验的掉落,或想与其他玩家共享经验,那这个系统也许能满足你。代码适用版本为1.11.2-1.12


整体思路:

在原版中的经验瓶相信大家都知道,但这东西玩家是无法通过合成、酿造、烧炼或者附魔台制造的。不如将这原版中的元素利用起来,让玩家可以通过自身经验来获取经验瓶。

这里的工作台可以替换为其他方块,本教程只提供大致方向,可自行拓展。

表情包001


代码:

探测玻璃瓶是否在工作台上:

  1. /scoreboard players tag @e[type=Item] add sc {Item:{id:"minecraft:glass_bottle",Count:1b,Damage:0s},OnGround:1b}
  2. /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

探测合成(附近)玩家是否符合条件:

  1. /execute @e[type=Item,tag=ysc] ~ ~ ~ execute @p[lm=0,l=0,r=3] ~ ~ ~ tellraw @p [{"selector":"@p","color":"white"},{"text":" 你的经验不足!","color":"red"}]
  2. /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}
  3. /execute @e[type=Item,tag=ysc] ~ ~ ~ xp -1l @p[lm=1,r=3]
  4. /execute @e[type=Item,tag=ysc] ~ ~ ~ give @p[lm=0,l=0,r=3] glass_bottle
  5. /kill @e[type=Item,tag=ysc]

此外,你可以通过拓展使不同等级创建的经验瓶包含经验数值不同,以防止经验减少等缺陷。



欢迎加群交流划水:481528679