Skip to content

属性编写教程

本篇详细介绍属性编写相关内容,本插件仅支持使用脚本编写属性

“双语教学” JavaScript 和 Groovy,至少了解其中一种语言

需要一定的编程基础

选择脚本

脚本语言 中说到,JavaScript 更容易上手,Groovy 性能更好,你可以在二者中自由选择一种语言编写属性

如果你具备一定的 Java 基础,那么我强烈推荐你使用 Groovy
Groovy 和 Java 很像,很多东西都差不多

如果二者都不会,可以参考 鹤归的教程 -> 0基础AttributePlus脚本属性 的部分学习 JavaScript 的基础知识

点击展开目录

不同属性类型运行的方法

JavaScript中
ATTACK_AND_DEFENSEonAttackAndDefense(attr, attacker, entity, handler)
ACCIDENTAL_DAMAGEDonAccidentalDamage(attr, it, entity, handler)
UPDATE_AFTERonUpdateAfter(attr, entity, handler)
RUNTIME_AFTERonRuntimeAfter(attr, entity, handler)
PLAYER_KILL_ENTITYonPlayerKillEntity(attr, killer, entity, handler)

每个属性类型都会运行 onEnable(attr)
attr 就是这个属性本身,等同于 Kotlin、Java、Groovy 中的 this

Groovy中
ATTACK_AND_DEFENSEonAttackAndDefense(attacker, entity, handler)
ACCIDENTAL_DAMAGEDonAccidentalDamage(it, entity, handler)
UPDATE_AFTERonUpdateAfter(entity, handler)
RUNTIME_AFTERonRuntimeAfter(entity, handler)
PLAYER_KILL_ENTITYonPlayerKillEntity(killer, entity, handler)

每个属性类型都会运行 onEnable()

其他方法

在此节文档中,你可以看到每篇都有处理器实现的接口,你需要阅读 javadoc 对应目录下的方法,若某处理器实现了某接口,就可以直接通过处理器(handler)对象使用他的方法,比如使用 handler.getRandomValue(.., ...)handler.addDamage(..., ...)