SX-Attribute 开发 - 开发总览
开发总览
JavaDoc
注册属性
注册条件
API
基础介绍
属性读取过程
攻击事件过程
- 某些原因导致SX的处理事件优先级为
EventPriority.HIGHEST(仅次于MONITOR)
- 不处理
DamageCause.CUSTOM
类型的伤害事件
- 不处理防御方为
ArmorStand(盔甲架)
的伤害事件
- 当攻击方为抛射物时 读取抛射物属性:
- 在射箭后 SX会将攻击方当前的属性绑定到抛射物中
- 防止攻击方射箭后切换成其他武器,造成微量BUG
- 攻击方会调整为抛射物的所有者
- 当一切数值获取正常后,根据优先级同时遍历双方的 AttributeData,并根据属性类型分配方法
- 参与方法的只有两种类型:
攻击-SXAttributeType.DAMAGE / 防御-SXAttributeType.DEFENCE
- 为攻击方分配
DAMAGE
类型属性方法,为防御方分配DEFENCE
类型属性方法
- 当
DamageEventData
被取消,或者damageEventData.getDamage() <= 0
时,退出属性遍历,并设置伤害为0.1D
- 无话可嗦,具体操作可看DamageEventData的JavaDoc