首先,先startup_scripts在注册一个药水效果buff:
StartupEvents.registry('mob_effect', event => {
event.create('fast:taunt_effect')
.beneficial() // 嘲讽
.effectTick((mob, lvl) => {
global.TauntEffectEvent(mob, lvl)
})
})
并在server_scripts实现对应效果:
global.TauntEffectEvent = (mob, lvl) => {
if (!mob || mob.level.isClientSide()) return
if (mob.age % 20 != 0) return
let mobAABB = mob.boundingBox.inflate(16)
mob.level.getEntitiesWithin(mobAABB).forEach(entity => {
if (!entity) return
if (!entity.isLiving() || !entity.isAlive()) return;
if (typeof entity.setTarget === 'function') {
entity.setTarget(mob);
}
})
}
当你获得buff后就会被追着锤了()
如何获得buff?
entity.potionEffects.add('fast:taunt_effect', 100, 0, false, false);
在事件上获得实体并使用这个方法给实体100tick的嘲讽 100可改成自己需要的时间