Skip to content

CraneAttribute 鹤属性

加班制作中...一定不鸽!

自定义属性类型

允许外部注册不同的属性类型

默认有几个常用属性类型
ATTACK_AND_DEFENSE:攻击和防御类型
ACCIDENTAL_DAMAGED:意外受伤类型,比如溺水、摔落、窒息、CUSTOM等
UPDATE:属性更新类型
RUNTIME:每隔几秒运行一次类型
KILL:击杀实体类型
DEFAULT:默认类型

使用 AttributeType.create(type: String, trigger: AttributeTrigger<out Event>) 注册

属性触发器

每个属性类型都对应一个属性触发器,它决定了这个属性类型是如何被触发的
比如 ATTACK_AND_DEFENSE 属性类型对应一个 AttackAndDefenseTrigger 触发器
所有类型(DEFAULT 除外)都应该对应一个触发器

属性处理器

每个属性类型都对应一个属性处理器,它在这个属性类型触发时使用,它决定了这个属性类型中的属性是如何处理的
比如 ATTACK_AND_DEFENSE 属性类型对应一个 AttackAndDefenseHandler 处理器
所有类型(DEFAULT 除外)都应该对应一个处理器,一旦触发,就应该发生处理

自定义属性

完全使用脚本属性,只有几个属性是插件注册的

自定义条件

属性源

允许外部注册不同的属性源类型

默认有几个常用属性源类型
EquipmentAttributeSource:解析装备格子上的物品的Lore和NBT中的属性
ItemStackAttributeSource:解析物品的Lore和NBT中的属性
ListAttributeSource:解析 List<String> 中的属性
DoubleArrayAttributeSource:解析 Map<String, Array<Double>> 中的属性
DoubleAttributeSource:解析 Map<String, Double> 中的属性

兼容AttributePlus

兼容AttributePlus中的AttributeAPI,也就是大部分AttributePlus附属插件都可以使用