# 物品属性

**ItemsAdder** 的物品不仅可以自定义它的材质，还有大量属性可以使用。如果你只是简单的生存服，那么它提供的各种属性完全够用，不需要再使用其他的自定义物品插件。并且 **IA** 内置的这一套属性系统非常强大，下面一起来了解一下吧。

### 是否启用

```
enabled: true
```

### 显示名称

```
display_name: "Test"
```

不同于物品id，物品的显示名称是玩家能够看到的物品名称。

### 权限

```
permission: myitem
```

这里填写的权限并不是完整的权限节点，而是 **ItemsAdder** 特定权限节点后续的填充内容。

以这里的 **myitem** 为例，玩家必须：

* 拥有 `ia.user.craft.myitem` 权限才能合成该物品。
* 拥有 `ia.user.ia.myitem` 权限才能在 /ia 菜单内看到该物品。
* `myitem` 就是 `permission` 选项填写的内容。

### Lore

```
lore:
- '&7这是一件 ItemsAdder 物品'
- '&7你可以像这样换行'
```

### 附魔

```
enchants:
  - ARROW_FIRE:1
  - anger_artifact:1
  - my_custom_plugin:custom_enchant:6
```

这里的附魔指的是注册到服务器里的所有附魔，包括原版的附魔。你可以在 [**Minecraft Wiki**](https://minecraft.fandom.com/zh/wiki/%E9%99%84%E9%AD%94) 内找到这些附魔的英文id。

格式为：命名空间:附魔id:附魔等级。

如果我们使用的附魔id没有冲突，那么命名空间就可以省略，就像第一个例子那样。

我们也可以使用第三方插件的附魔，但前提是它必须是将附魔注册到服务器里，像 **EcoEnchants、ExcellentEnchants** 都是注册到服务器里的附魔插件，而 **AdvancedEnchants** 则是自己创建了新的附魔判断，无法在这里使用。

![像这样，我们就获得了锋利附魔的id](https://4149593262-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfMGAfdqIe4KA9hVW04wr%2Fuploads%2FNO7DQ1lGLZV9Xbil1Ahl%2F%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202022-06-03%20183215.png?alt=media\&token=8cc08130-f441-476e-a78b-0fee154c0f9e)

### 属性

```
attribute_modifiers:
  mainhand:
    attackDamage: 19
    attackSpeed: 1.1
    maxHealth: 1.1
    movementSpeed: -1
    armor: 1.1
    armorToughness: 1.1
    attackKnockback: 1.1
    luck: 1.1
  offhand:
    attackDamage: 19
    attackSpeed: 1.1
    maxHealth: 1.1
    movementSpeed: 1.1
    armor: 1.1
    armorToughness: 1.1
    attackKnockback: 1.1
    luck: 1.1
```

这里的属性是原版自带属性系统，而其他插件提供的属性是否是基于原版的属性机制则需要根据它们的 **Wiki** 介绍来判断。如果多个插件同时修改玩家的属性，那么将会产生冲突问题。

你可以在 [**Minecraft Wiki**](https://minecraft.fandom.com/zh/wiki/%E5%B1%9E%E6%80%A7) 内找到这些属性的英文id。有关盔甲和盔甲韧性的具体内容和区别，你可以在 [**Minecraft Wiki**](https://minecraft.fandom.com/zh/wiki/%E7%9B%94%E7%94%B2%E6%9C%BA%E5%88%B6?so=search) 内找到答案。

以 **AureliumSkills** 为例，我们可以在 **Wiki** 看到它的血量是根据玩家原版血量（Health）属性为基础以一套公式修改的，因此该插件不会导致冲突问题。如果 **Wiki** 没有特别标注，那么大部分插件（如MMO全家桶）的与这里一样名称的属性都是基于原版修改，会产生冲突。

配置中，`mainhand` 表示该物品在主手时，底下为其配置，即在主手时的属性。`offhand` 表示该物品在副手时。

### 耐久

```
durability:
  max_custom_durability: 200
  custom_durability: 32
  disappear_when_broken: false
  unbreakable: false
  usages: 5
```

当设置 **durability** 属性后，其下的配置都不是必填配置，但你必须至少有一个配置，例如：

```
durability:
  max_custom_durability: 200
```

下面介绍各个配置的作用：

* `max_custom_durability` 指的是该物品最多可以达到的耐久值，即因各种因素（如耐久附魔）导致该物品耐久值增长的最大值。
* `custom_durability` 指的是该物品在默认获得后拥有的耐久值，如果没有设置，则和 `max_custom_durability` 一致。
* `disappear_when_broken` 指的是该物品在没有耐久后是否消失。
* `unbreakable` 指的是该物品是否无限耐久。
* 耐久只有在各种工具、盔甲等才存在，而其他的自定义物品在使用事件时，将会使用 `usages`，即最大使用次数，具体作用将在后文提及。

### 标签隐藏

```
item_flags:
  - HIDE_ATTRIBUTES
  - HIDE_DESTROYS
  - HIDE_ENCHANTS
  - HIDE_PLACED_ON
  - HIDE_POTION_EFFECTS
  - HIDE_UNBREAKABLE
```

我们在获得盔甲时，会看到 **+2盔甲** 这样的东西，还有被附魔的物品会显示附魔，与之对应的相关内容，我们称为物品标签。在 **ItemsAdder** 中，因为隐藏原本物品的需要，这个属性也是经常需要使用的。

我们可以填写以下值：

* HIDE\_ATTRIBUTES：隐藏物品的属性信息（如+1攻击）。
* HIDE\_DESTROYS：隐藏物品可以破坏的方块信息（在服务器中我们几乎不会用到这个，所以可以忽视）。
* HIDE\_DYE：隐藏物品的染色（如染色后的皮革盔甲）。
* HIDE\_ENCHANTS：隐藏物品的附魔信息。
* HIDE\_PLACED\_ON：隐藏方块可以放置到什么上面信息（同样在服务器中几乎用不到）。
* HIDE\_POTION\_EFFECTS：隐藏药水信息（如1:00生命回复2）。
* HIDE\_UNBREAKABLE：隐藏不可破坏（无限耐久）信息。

### 禁止附魔

```
    blocked_enchants:
      - DAMAGE_UNDEAD
      - DAMAGE_ALL
      - DAMAGE_ARTHROPODS
      - KNOCKBACK
      - DURABILITY
      - SWEEPING_EDGE
```

禁止哪些魔咒可以附魔在该物品上。如果需要禁止所有魔咒，则填写 `ALL`。格式请见上文的 **附魔**。

### 掉落

```
    drop:
      glow:
        enabled: true
        color: DARK_RED
      show_name: true
```

其中，`glow` 为是否发光和发光的颜色，`show_name` 为该物品掉落物形式是否显示它的名称。

### 事件

请见 **事件** 章。如果你是首次阅读，忽视这里，继续阅读下一节。
