• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~
FAttribute-高版本装备属性特色属性击打粒子效果让你的服务器与众不同

原创 开源 前置/API FAttribute-高版本装备属性特色属性击打粒子效果让你的服务器与众不同 2.0

版权类型
原创
插件中文名称
FAttribute
插件英文名称
FAttribute
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
语言支持
中文(简体)
前置组件
FBinggunUtil(https://www.minebbs.com/resources/fbinggunutil-fgive.9900/)
适配版本(Java)
  1. 1.21
  2. 1.20
  3. 1.19
  4. 1.18
  5. 1.17
  6. 1.16
  7. 1.15
  8. 1.14
  9. 1.13
属性列表:
YAML:
  Attack: 攻击力
  Bleed: 流血
  BanMove: 禁锢
  Defense: 护甲
  Crit: 暴击率
  CritDefense: 暴击抵抗
  CritRate: 暴击增伤
  Health: 生命值
  Dodge: 闪避率
  Hit: 命中率
  Continuous: 连击伤害
  AttackSpeed: 攻速
  PoisonAttack: 毒攻
  WitherAttack: 凋零
  PoisonDefense: 毒抗
  WitherDefense: 凋零抵抗
  Levitation: 漂浮打击
  SlotDigging: 疲劳打击
  Frighten: 震慑
  ChainAttack: 连环打击
  ChainDamageBoost: 连环提升
  ExplosionAttack: 爆能释放
  Splash: 溅射
  Snipe: 狙击
  SunderArmor: 破甲
  CounterAttack: 反击
  GroupBattle: 群战
//狙击: 对距离越远的生物造成越高的附加伤害 计算公式 距离*0.03*属性值 最高属性值的3倍
//连续攻击 附加伤害 在5秒内 每次攻击伤害增加[属性值]点
//对目标为自身的怪物 造成额外伤害 反击值 编写这个属性
//群战 附加伤害 [属性点]*附加16格生物数量*0.1 最高10倍
//漂浮打击 效果类 概率触发 给对手漂浮buff 持续5秒
//毒攻 效果类 对对手造成 中毒 每次中毒造成 [属性点] 伤害 持续5秒
//漂浮打击 效果类 概率触发 给对手挖掘疲劳 持续5秒
//破甲 计算方式 附加破甲伤害 最大附加伤害=对方护甲或[属性值]
//凋零 效果类 对对手造成 凋零 每次凋零造成 [属性点] 伤害 持续5秒
//禁锢 使对手 在[属性点]/10 秒内无法移动
//流血 每秒造成 [属性点]伤害 持续5秒
* 连环打击 额外伤害 范围10格内 造成 对属性值为数量的怪物 造成 所用攻击力的30%+连环伤害的攻击力
* 连环伤害 额外伤害加成 增加连环打击的伤害
*爆能释放 额外伤害 对范围 3格内 造成 {属性值}点伤害
//震慑 效果属性 降低对手 [属性点]攻击力 持续10秒
//溅射 额外伤害 向范围5格内 随机释放5道射线 命中生物后 造成[属性点]伤害
Java:
package com.fbinggun.fattribute.api;

import com.fbinggun.fattribute.FAttributePlugin;
import com.fbinggun.fattribute.attribute.IAttribute;
import com.fbinggun.fattribute.data.DataManage;
import com.fbinggun.fattribute.data.EntityData;
import com.fbinggun.fattribute.effect.IEffect;
import com.fbinggun.fattribute.status.Modifier;
import org.bukkit.entity.LivingEntity;
import org.bukkit.plugin.Plugin;

import java.util.List;
import java.util.Map;

public class API {


    /**
     * 获取实体属性信息
     * @param entity 实体
     * @return
     */
    public static EntityData getEntityData(LivingEntity entity){
        return DataManage.getData(entity);
    }
    //更新实体属性

    /**
     * 更新实体属性
     * @param entity
     */
    public  static void update(LivingEntity entity){
        getEntityData(entity).up();
    }

    //为实体添加效果

    /**
     * 为实体添加 自定义效果
     * @param entityData 实体信息
     * @param effect 效果
     */
    public static void addEffect(EntityData entityData, IEffect effect){
        entityData.addEffect(effect);
    }
    //为实体添加效果

    /**
     * 为实体添加自定义效果
     * @param entity 实体
     * @param effect 效果
     */
    public static void addEffect(LivingEntity entity, IEffect effect){
        getEntityData(entity).addEffect(effect);
    }

    //获取属性值

    /**
     * 获取属性值
     * @param entityData 实体信息
     * @param id 属性ID
     * @return
     */
    public static double getAttributeValue(EntityData entityData, String id) {
        return getValue(id, entityData);
    }

    //获取玩家全部属性

    /**
     * 获取实体的全部属性数据
     * @param entityData 实体信息
     * @return
     */
    public static Map<IAttribute,Double> getAttributeAllValue(EntityData entityData){
        return entityData.getStatusMap().getAttributeMap();
    }


    /**
     * 获得属性
     *
     * @param id 属性id
     * @return
     */
    public static IAttribute getKey(String id) {
        return FAttributePlugin.plugin.getIAttribute(id);
    }

    /**
     * 获得实体属性值
     *
     * @param id         属性id
     * @param entityData 实体信息
     * @return
     */
    public static double getValue(String id, EntityData entityData) {
        IAttribute iAttribute = FAttributePlugin.plugin.getIAttribute(id);
        if (iAttribute == null) {
            return 0d;
        }
        return iAttribute.getValue(entityData);
    }
    //为实体添加属性、

    /**
     * 为实体添加属性
     * @param entityData 实体信息
     * @param modifier 属性修饰符
     */
    public static void addAttribute(EntityData entityData,Modifier modifier){
        entityData.getStatusMap().addModifier(modifier);
    }

    /**
     * 新建 属性修饰符
     * @param id ID 可随意 建议 插件名_xxx
     * @param plugin 插件
     * @param map 属性数据
     * @return
     */
    public static Modifier newModifier(String id, Plugin plugin, Map<IAttribute,Double> map){
        return new Modifier(id,plugin,map);
    }
    /**
     * 新建 属性修饰符
     * @param id ID 可随意 建议 插件名_xxx
     * @param plugin 插件
     * @param map 属性数据
     * @return
     */
    public static Modifier newModifier(String id, Plugin plugin, List<String> map){
        return new Modifier(id,plugin,map);
    }

    /**
     * 删除属性修饰符
     * @param entityData 实体数据
     * @param id 修饰符id
     */
    public static void delModifier(EntityData entityData,String id){
        entityData.getStatusMap().removeModifier(id);
        return;
    }

    /**
     * 删除属性修饰符
     * @param entityData 实体数据
     * @param plugin 插件
     */
    public static void delModifier(EntityData entityData,Plugin plugin){
        entityData.getStatusMap().removeModifier(plugin);
        return;
    }

}



使用方法:与常见属性插件一致 将物品lore修改为对应词条即可


注意:本插件首次发布 目前测试数据不足 请谨慎使用 BUG反馈地址:1728482805@qq.com (带上报错日志与截图详细错误内容)
开源地址: https://gitee.com/hou_bingkun/FAttribute
作者
深居
价格
200金粒
下载
17
查看
730
首次发布
最后更新

评分

0.00 星 0 次评分

深居 的其他资源

后退
顶部 底部