生物效果注册 (Mob Effect Registry)

预计阅读时间: 2 分钟

向游戏添加新的生物效果

您可以创建自定义生物效果:

1.19.2+ 1.18.2及以下

StartupEvents.registry('mob_effect', event => {
  event.create('custom_effect') // 在 "kubejs:custom_effect" 下创建效果
    .color(0x000000) // 设置效果粒子的颜色。
    .beneficial() // 将效果分类为有益的。
    .effectTick((entity, lvl) => { // 这对于实体在效果下时的重复逻辑很有用。
      // 像再生一样,每秒根据效果等级治愈实体。
      if (entity.age % 20 != 0) return
      entity.heal(1 * lvl)
    })
    // modifyAttribute 对于仅在效果持续期间缩放实体的属性很有用
    .modifyAttribute('minecraft:generic.attack_damage', // 要缩放的属性
      'e0f4e796-3d3d-11ee-be56-0242ac183754', // 用作效果唯一实例的随机UUID
      1, // 增加/减少的数量
      "multiply_base" // 要执行的操作
    )
})
onEvent('mob_effect.registry', event => {
  event.create('custom_effect') // 在 "kubejs:custom_effect" 下创建效果
    .color(0x000000) // 设置效果粒子的颜色。
    .harmful() // 将效果分类为有害的。
    .effectTick((entity, lvl) => { // 这对于实体在效果下时的重复逻辑很有用。
      // 像再生一样,每秒根据效果等级治愈实体。
      if (entity.age % 20 != 0) return
      entity.heal(1 * lvl)
    })
    // modifyAttribute 对于仅在效果持续期间缩放实体的属性很有用
    .modifyAttribute('minecraft:generic.attack_damage', // 要缩放的属性
      'e0f4e796-3d3d-11ee-be56-0242ac183754', // 用作效果唯一实例的随机UUID
      1, // 增加/减少的数量
      "multiply_base" // 要执行的操作
    )
})

方法:

  • beneficial()

  • harmful()

  • category(category)

  • color(hex)

  • effectTick(callback => {}) 要查看所有可用方法,请查看 LivingEntity

  • modifyAttribute(attribute, name, number, operation)

脚本文件夹:startup_scripts/