|
在日常的电子斗蛐蛐中,经常有一些生物没有血条导致观感不好,我偶然发现服务器的TPSbar便查找到boss栏的指令bossbar,因为是个指令小白老是忘相当于把本帖当个备忘录 思路就是先创建bossbar 然后生成一个生物或选择一个生物,获取生命值,然后存放到这个bossbar里,最后循环以实时更新
第一步 创建bossbar- /bossbar add id {"text":"name"}
id自己取一个,name同理 然后根据对应生物设置bossbar最大值(如凋灵300就写300)- /bossbar set id max 0
改数字即可 随后对玩家显示- /bossbar set id players @a
补充,如果想要不同样式的bossbar可以这样调整:⑴分段:- /bossbar set id style notched_6
改数字即可 ⑵颜色:- /bossbar set id color white
仅支持白蓝绿粉紫红黄 ⑶显示与否:- /bossbar set id visible true
true显示,false隐藏 ⑷修改名称:同创建指令,只需修改name
第二步 获取生物血量因为data get似乎不能直接选择@e[type=…](至少我这是这样,难道要加上limit=1?){补充,确实是这样}所以先给生物一个tag这样选择器就能选中它了 如果是原有的生物用- /tag @e[type=mob,limit=1] add text
修改mob和text即可,下同(如凋灵tag为wither就是:/tag @e[type=minecraft:wither,limit=1] add wither) 如果生成可以用- /summon mob ~ ~ ~ {Tags:["text"]}
然后获取血量- /data get entity @e[tag=text] Health
这时把data指令放到循环命令方块里后应该就可以实时输出生物血量了 后来补充:经实践,@e[type=...,limit=1]可行故可以直接如下:- /data get entity @e[type=mob,limit=1] Health
缺点在于只会选取最近类型的该生物,bossbar可能会被篡位。比如你选择最近一个僵尸,僵尸走远了又刷新一个,这时候就显示新僵尸的血量了
第三步 实时更新血量到bossbar前两部我们完成了bossbar的创建及血量获取,现在只需要把在生物血量变化时更新bossbar,为了同时运行这两个指令我们可以使用execute…run…,前半部分将data get获取的生命值储存到bossbar里更新bossbar,后半部分就是data get health 整合后如下:- /execute store result bossbar minecraft:id value run data get entity @e[tag=text] Health
扔到循环命令方块后就可以使用啦!
来源:https://klpbbs.com/thread-131091-1-1.html 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|