AttributeAPI
AttributeAPI 是插件的公开 API 入口类,位于 cn.org.bukkit.craneattribute.api 包下。所有第三方插件和脚本都应通过此类来操作属性系统。
获取实体属性数据
Kotlin
// 获取实体的 AttributeData
val data = AttributeAPI.getAttrData(entity)
// 获取属性值(范围值,返回 DoubleArray[min, max])
val value = data.getAttrValue("物理攻击")
// 获取属性随机值(在 min-max 范围内随机取值)
val random = data.getRandomValue("物理攻击")
// 获取战斗力
val power = data.getPower()Java
// Java 调用方式相同
AttributeData data = AttributeAPI.getAttrData(entity);
double random = data.getRandomValue("物理攻击");注册默认属性
Kotlin
// 注册一个 DEFAULT 类型的属性
AttributeAPI.registerDefaultAttribute("custom_attr", "自定义属性", 1.0, -1.0)操作属性源
Kotlin
val data = AttributeAPI.getAttrData(entity)
// 添加属性源
val source = FormatListAttributeSource("测试源", listOf("物理攻击:100", "生命值:500"), -1)
data.addAttributeSource(source)
// 异步添加属性源
data.addAttributeSourceAsync(source) {
// 添加完成后的回调
}
// 移除属性源
data.removeAttributeSource("测试源", false)完整参考
更多方法请参阅 javadoc
