# AttributeAPI

|          类型          |                                        方法                                        |             描述             |
| :------------------: | :------------------------------------------------------------------------------: | :------------------------: |
| static AttributeData |                            getAttrData(Entity player)                            |          获取实体属性数据          |
|  static AttachHandle |                           getAttachData(Player player)                           |         操作玩家加点数据方法         |
|      static void     | addAttribute(Player player, String source, List attributeList,  boolean release) | 给玩家添加一个来自某个 源 的属性,相同的源会被覆盖 |
|    static boolean    |                   deleteAttribute(Player player, String source)                  |      清除玩家身上由某个源所增加的属性      |
|    static boolean    |                equipmentLevel(Player player, ItemStack itemStack)                |      判断玩家等级是否足以使用这件物品      |
|    static boolean    |                equipmentClass(Player player, ItemStack itemStack)                |       判断玩家是否有权限使用这件物品      |

> "**addAttribute(Player player, String source, List attributeList,  boolean release)**" 内的 release 为 true 时则属性更新时就自动释放,如果为false则持久生效,需要 "**deleteAttribute(Player player, String source)**" 方法来删除

## 我想给玩家增加一些属性我该怎么做?

通过 AttributeAPI.class 提供的 `addAttribute(Player player, String source, List attributeList)` 方法，需要注意的是相同的 `source` 将会覆盖掉原来 `source` 上的属性

```
Player player;
List<String> attributeList = Arrays.asList("物理伤害: 10-20","生命力: 100");
AttributeAPI.addAttribute(player, "测试源", attributeList);
```
