开发者文档
API
属性模块所对外暴露的所有API
/**
* 给玩家增加一个BUFF
* @param uuid 玩家ID
* @param attributeId 属性ID
* @param num 数值
* @param time 秒数
* @throws ServiceErrorSendMsgException 程序遇到错误,异常中保存了需要对该玩家输出的信息
*/
IBuff createBuff(String uuid, String attributeId, double num, Long time) throws ServiceErrorSendMsgException;
/**
* 移除buff
* @param buffId buffId
*/
void removeBuff(String uuid,String buffId);
/**
* 增加用户的属性附加值
* @param uuid 玩家ID
* @param attributeId 属性ID
* @param num 值
*/
void addUserAttributeAppendValue(String uuid,String attributeId,double num);
/**
* 减少用户的属性附加值
* @param uuid 玩家ID
* @param attributeId 属性ID
* @param num 值
*/
void remUserAttributeAppendValue(String uuid,String attributeId,double num);
/**
* 重置玩家属性
* @param uuid 玩家ID
* @param isReturnPoint 是否返回属性点
* @throws ServiceErrorSendMsgException 程序遇到错误,异常中保存了需要对该玩家输出的信息
*/
void resetAttribute(String uuid,Boolean isReturnPoint) throws ServiceErrorSendMsgException;
/**
* 玩家升级属性(玩家调用)
* 会扣除属性加点
* @param uuid 玩家ID
* @param attributeId 属性ID
* @throws ServiceErrorSendMsgException 程序遇到错误,异常中保存了需要对该玩家输出的信息
*/
void upAttributeByPlayer(String uuid,String attributeId) throws ServiceErrorSendMsgException;
/**
* 检查属性是否存在
* @param attributeId 属性ID
* @return 属性是否存在
*/
Boolean isAtr(String attributeId);
/**
* 获取玩家所有BUFF
* @param uuid 玩家ID
* @param userBuffEnumCode BUFF类型
* @return Buff列表
*/
List<IBuff> getBuff(String uuid, UserBuffEnumCode userBuffEnumCode);
/**
* 获取指定buff数据
* @param buffId BuffID
* @return Buff
*/
IBuff getBuffById(String buffId);
/**
* 获取玩家某个属性的数据值(仅加点得到的属性)
* @param uuid 玩家ID
* @param attributeId 属性ID
* @return 加点的值
*/
IUserAttributeValue getUserAttributeValueByAttributeId(String uuid, String attributeId);
/**
* 获取玩家所有属性数据值(仅加点得到的属性)
* @param uuid 玩家ID
* @return
*/
List<IUserAttributeValue> getUserAttributeValue(String uuid);
/**
* 获取玩家所有属性(仅加点得到的属性)
* @param uuid 玩家ID
* @return 属性对象与玩家属性值的组合实体类
*/
List<IAttributeAndValue> getAttributeAndValue(String uuid);
/**
* 根据玩家ID与属性ID,获取玩家这个属性的数据(仅加点得到的属性)
* @param attributeId 属性ID
* @param uuid 玩家ID
* @return 属性对象与玩家属性值的组合实体类
*/
IAttributeAndValue getAttributeAndValueByAttributeId(String attributeId, String uuid);
/**
* 获取玩家某个属性的值(装备附加值+加点附加值+buff值 计算出的最终值)
* @param uuid 玩家ID
* @param attributeId 属性ID
* @return 装备附加值+加点附加值+buff值 计算出的最终值
*/
double getFuseUserAttributeValue(String uuid, String attributeId);
/**
* 根据属性ID获取属性详情
* @param attributeId 属性ID
* @return 属性详情
*/
IAttribute getAttributeByAttributeId(String attributeId);
/**
* 获取服务器配置的全部属性
* @return 所有属性
*/
List<IAttribute> getAttribute();
/**
* 创建属性
* @param attributeVo 新的属性对象
*/
void createAttribute(IAttribute attributeVo);
/**
* 移除属性
* @param attributeId 属性ID
*/
void removeAttribute(String attributeId);
/**
* 获取玩家当前剩余加点值
* @param uuid 玩家ID
* @return 玩家当前剩余的属性加点值
* @throws ServiceErrorSendMsgException 程序遇到错误,异常中保存了需要对该玩家输出的信息
*/
int getPlayerPoint(String uuid) throws ServiceErrorSendMsgException;
/**
* 检查属性是否合法
* @param attributeId 属性ID
* @return 校验这个属性是否配置完整
*/
boolean checkAttributeUsable(String attributeId);
/**
* 向属性模块注册算法攻击算法处理
* @param damageHandle 具体实现逻辑
*/
void registerDamageHandle(Consumer<EntityDamageEntityEvent> damageHandle);
事件
类名 | 说明 |
---|---|
AttributeChangeEvent | 玩家属性值变动事件 |
BuffCreateEvent | Buff创建事件 |
BuffRemoveEvent | buff移除事件 |
Last updated