属性编写教程
本篇详细介绍属性编写相关内容,本插件仅支持使用脚本编写属性
“双语教学” JavaScript 和 Groovy,至少了解其中一种语言
需要一定的编程基础
选择脚本
在 脚本语言 中说到,JavaScript 更容易上手,Groovy 性能更好,你可以在二者中自由选择一种语言编写属性
如果你具备一定的 Java 基础,那么我强烈推荐你使用 Groovy
Groovy 和 Java 很像,很多东西都差不多
如果二者都不会,可以参考 鹤归的教程 -> 0基础AttributePlus脚本属性 的部分学习 JavaScript 的基础知识
点击展开目录
不同属性类型运行的方法
JavaScript中ATTACK_AND_DEFENSE:onAttackAndDefense(attr, attacker, entity, handler)ACCIDENTAL_DAMAGED:onAccidentalDamage(attr, it, entity, handler)UPDATE_AFTER:onUpdateAfter(attr, entity, handler)RUNTIME_AFTER:onRuntimeAfter(attr, entity, handler)PLAYER_KILL_ENTITY:onPlayerKillEntity(attr, killer, entity, handler)
每个属性类型都会运行 onEnable(attr)attr 就是这个属性本身,等同于 Kotlin、Java、Groovy 中的 this
Groovy中ATTACK_AND_DEFENSE:onAttackAndDefense(attacker, entity, handler)ACCIDENTAL_DAMAGED:onAccidentalDamage(it, entity, handler)UPDATE_AFTER:onUpdateAfter(entity, handler)RUNTIME_AFTER:onRuntimeAfter(entity, handler)PLAYER_KILL_ENTITY:onPlayerKillEntity(killer, entity, handler)
每个属性类型都会运行 onEnable()
其他方法
在此节文档中,你可以看到每篇都有处理器实现的接口,你需要阅读 javadoc 对应目录下的方法,若某处理器实现了某接口,就可以直接通过处理器(handler)对象使用他的方法,比如使用 handler.getRandomValue(.., ...) 或 handler.addDamage(..., ...)
