本帖最后由 1987151505 于 2020-3-16 22:51 编辑
版本1.15.2,想知道如何用命令,数据包等等方式改怪物默认的血量护甲等等,比如说我希望每次自然生成的僵尸拥有40点血量,自带5点护甲;小白手上的弓自带力量3,我想要稍微具体点的命令的方法,谢谢了
版本1.15.2,想知道如何用命令,数据包等等方式改怪物默认的血量护甲等等,比如说我希望每次自然生成的僵尸拥有40点血量,自带5点护甲;小白手上的弓自带力量3,我想要稍微具体点的命令的方法,谢谢了
改不了。
只能生成后用命令给怪物设置血量装备什么的
只能生成后用命令给怪物设置血量装备什么的
这个网上能查找到指令,但好像只能自己生成而不是刷出
好像用JSON并没有解决方法,但是生物的Attributes NBT可以改所有怪物的护甲值
Shu_Ben书本 发表于 2020-3-16 10:45
好像用JSON并没有解决方法,但是生物的Attributes NBT可以改所有怪物的护甲值
...
能说一下怎么改生物的NBT吗QAQ
你可以在召唤生物的时候就设定它的NBT,也可以在召唤后使用/data merge entity指令修改它的NBT
如果能说出具体情况的话,我知道怎么做
missinggo 发表于 2020-3-16 17:02
如果能说出具体情况的话,我知道怎么做
我把问题改了一下下
本帖最后由 missinggo 于 2020-3-17 20:56 编辑
首先,新建一个zombie_enhance(僵尸增强)函数还有一个skeleton_enhance函数(骷髅增强)
在tick函数(高频)里面execute as @e[type=zombie,score={mob_enhanced=0}] run function zombie_enhance
execute as @e[type=skeleton,score={mob_enhanced=0}] run function skeleton_enhance在zombie_enhance函数里面写data merge entity @s {Attributes:[{Name:"generic.maxHealth",Base:40.0}]}
然后effect give @s minecraft:instant_damage 1 10 true(因为亡灵生物受到瞬间伤害会回血,所以为了把僵尸血回满(增加了生命上限而血不会增多)给僵尸瞬间伤害效果)
另外,5点护甲需要添加盔甲来增加护甲,所以可以replaceitem entity @s armor.chest golden_chestplate 1(给僵尸添加一个金胸甲,如果你想要别的话,可以回复我)
在skeleton_enhance函数里写enchant @s minecraft:power 3(给骷髅弓附魔力量III)
最后别忘了在两个新函数的结尾加上scoreboard players set @s mob_enhance 1(把已经增强过的怪物标记起来)
还有在load函数(加入游戏时自动加载的那个函数)里加入scoreboard objectives add mob_enhance dummy
这个计分板是为了把增强过的怪物和没有增强的区分开来,以防生成“超强怪物”
首先,新建一个zombie_enhance(僵尸增强)函数还有一个skeleton_enhance函数(骷髅增强)
在tick函数(高频)里面execute as @e[type=zombie,score={mob_enhanced=0}] run function zombie_enhance
execute as @e[type=skeleton,score={mob_enhanced=0}] run function skeleton_enhance在zombie_enhance函数里面写data merge entity @s {Attributes:[{Name:"generic.maxHealth",Base:40.0}]}
然后effect give @s minecraft:instant_damage 1 10 true(因为亡灵生物受到瞬间伤害会回血,所以为了把僵尸血回满(增加了生命上限而血不会增多)给僵尸瞬间伤害效果)
另外,5点护甲需要添加盔甲来增加护甲,所以可以replaceitem entity @s armor.chest golden_chestplate 1(给僵尸添加一个金胸甲,如果你想要别的话,可以回复我)
在skeleton_enhance函数里写enchant @s minecraft:power 3(给骷髅弓附魔力量III)
最后别忘了在两个新函数的结尾加上scoreboard players set @s mob_enhance 1(把已经增强过的怪物标记起来)
还有在load函数(加入游戏时自动加载的那个函数)里加入scoreboard objectives add mob_enhance dummy
这个计分板是为了把增强过的怪物和没有增强的区分开来,以防生成“超强怪物”