MC百科社群

标题: 如何用 CrT 事件让怪物生成时拥有加成 [打印本页]

作者: QQ酱397523    时间: 2024-4-22 11:44
标题: 如何用 CrT 事件让怪物生成时拥有加成
版本 1.18.2,我想让僵尸生成时血量随机增加 10~20 点,护甲值随机增加 5~10 点,如何实现?

作者: dinnerbone    时间: 2024-4-23 17:46
记得有个模组可以直接有这效果
作者: dinnerbone    时间: 2024-4-23 17:48
dinnerbone 发表于 2024-4-23 17:46
记得有个模组可以直接有这效果

真的遇到一个模组功能就是随机加成,但是名字想不起来了,尝试找找看
作者: QQ酱397523    时间: 2024-4-23 18:19
dinnerbone 发表于 2024-4-23 17:48
真的遇到一个模组功能就是随机加成,但是名字想不起来了,尝试找找看

https://www.mcmod.cn/class/12719.html,这个?但是功能不够全,只能改生命值、伤害、速度。
作者: QQ酱238152    时间: 2024-4-23 21:19
学习一下crt的事件如何使用,然后就是对应的比如“生物生成事件”,对事件提供的函数进行操作
作者: QQ酱397523    时间: 2024-4-23 21:30
QQ酱238152 发表于 2024-4-23 21:19
学习一下crt的事件如何使用,然后就是对应的比如“生物生成事件”,对事件提供的函数进行操作 ...

我会用事件,但是不知道怎么让生物增加属性
作者: QQ酱238152    时间: 2024-4-23 21:36
QQ酱397523 发表于 2024-4-23 21:30
我会用事件,但是不知道怎么让生物增加属性

调用crt提供的属性修饰符方法,或者在生物生成时添加属性tag(NBT)
作者: QQ酱397523    时间: 2024-4-23 21:39
QQ酱238152 发表于 2024-4-23 21:36
调用crt提供的属性修饰符方法,或者在生物生成时添加属性tag(NBT)

属性修饰符不会用,添加 tag 不知道为什么不生效
作者: QQ酱60332    时间: 2024-4-25 18:57
试了下1.20.1的,属性不知道怎么获取,就直接修改nbt了。
属性里面要修改下最大血量
  1. events.register<FinalizeMobSpawnEvent>((event) => {
  2.   var mob = event.entity;
  3.   var entityType = mob.getType();
  4.   if(entityType == <entitytype:minecraft:zombie>){

  5.     mob.updateData({Attributes:[
  6.         {
  7.             Base: 10.0 as double,  //设置护甲
  8.             Name: "minecraft:generic.armor"
  9.         },
  10.         {
  11.             Base: 100.0 as double, //最大血量
  12.             Name:  "minecraft:generic.max_health"
  13.         }
  14.         ]});

  15.     mob.setHealth(99);  //设置生成时候的血量
  16.     // println("max health = " + mob.maxHealth);
  17.     // println("armor = " + mob.getArmorValue());

  18.   }
  19. });
复制代码

作者: dinnerbone    时间: 2024-4-26 00:41
QQ酱397523 发表于 2024-4-23 18:19
https://www.mcmod.cn/class/12719.html,这个?但是功能不够全,只能改生命值、伤害、速度。 ...

我印象中好像不是这个模组,是另外的模组。但是确实想不起来,只能排除这个了




欢迎光临 MC百科社群 (https://bbs.mcmod.cn/) MC百科|最大的MineCraft中文模组百科