# 炮塔教程：物品(Items)

{% hint style="info" %}
最新版物品ID: <https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html> \
1.8物品ID: <https://github.com/Attano/Spigot-1.8/blob/master/org/bukkit/Material.java>
{% endhint %}

## 主要物品(Main Items)

### 方块物品(Block Item)

方块物品就是玩家会从`/ct give <炮塔名> <玩家名>`命令获得到的物品。你可以把以下变量用到你的物品中。\
`%upgrade_level%（目前等级）, %min_damage%（最小伤害）, %max_damage%（最大伤害）, %min_heal%（最小治疗值）, %max_heal%（最大治疗值）, %max_ammo%(最大弹药数量)%speed%（射击速度）, %range%（攻击范围）, %health%（炮塔血量）, %splash_radius%（溅射半径）, %max_targets%（最大目标数）, %accuracy%（精准度）, %action_<动作>_probability%（进行某种动作的几率）, %action_<动作>_duration%（动作延续的时间）`你也可以使用`%fire_rate%` 变量来显示炮塔一秒钟能射多少发

```yaml
block:
    id: "COAL_BLOCK"
    name: "&a冲锋枪炮塔&6方块"
    lore:
    - "&7快速攻击，无额外能力。"
    - ""
    - "&8» &7等级: &e%upgrade_level%"
    - "&8» &7伤害: &a%min_damage%&7-&a%max_damage%"
    - "&8» &7冷却: &a%speed% 秒"
    - "&8» &7范围: &a%range% 格"
```

### 弹药物品(Ammunition Item)

弹药物品就是玩家会从`/ct giveammo <炮塔名> <玩家名> <数量>`命令获得到的物品。这些物品必须被放在炮塔的弹药舱里

```yaml
ammunition:
    id: "GHAST_TEAR"
    name: "&6冲锋枪炮塔&7弹药"
    lore:
    - "&7把这个物品放入你的炮塔弹药舱里"
    - "&7来使炮塔开始射击."
```

## 炮塔菜单物品(Inventory Items)

### 升级物品

这是玩家需要在炮塔菜单里点击来升级炮塔的物品，你可以使用方块物品里的变量，但是需要在前面加上`current` 或者 `next`(当前等级的属性和下一等级的属性)。你也可以使用`%money_cost%` 变量和 `%item_cost%`变量(花费的金钱和花费的物品)

```yaml
upgrade:
    id: "EMERALD"
    name: "&a冲锋枪炮塔&e升级"
    lore:
    - "&7等级: &e&l%current_level%&8 ➜ &e&l%next_level%"  
    - "&7伤害: &a%current_min_damage%&7-&a%current_max_damage%&8 ➜ &a%next_min_damage%&7-&a%next_max_damage%"
    - "&7冷却: &a%current_speed%(秒)&8 ➜ &a%next_speed%(秒)"
    - "&7范围: &a%current_range% 格&8 ➜ &a%next_range% 格"
    - "&7血量: &a%current_health%&8 ➜ &a%next_health%"
    - ""
    - "&7花费: &6$%money_cost%"
    - ""
    - "&8[点击升级到&e&l%next_level%&8级]"  
```

### 最后一级的物品(Last Upgrade Item)

和前面的一样，不过这会是炮塔不能再升级时显示的物品

```yaml
last_upgrade:
    id: "REDSTONE"
    name: "&a冲锋枪炮塔&e升级"
    lore:
    - "&7点击: &e&l%current_level%"  
    - "&7伤害: &a%current_min_damage%&7-&a%current_max_damage%"
    - "&7冷却: &a%current_speed%(秒)"
    - "&7范围: &a%current_range% 格"
    - "&7血量: &a%current_health%"
    - ""
    - "&7无法再继续升级" 
```
