# 自定义战利品

## 示例战利品

首先，我们需要知道自定义战利品配置储存在哪里。它们被储存在 \~/EliteMobs/customitems 文件夹。

每个自定义战利品都有它自己独立的文件，这意味着如果你想要创建新的自定义战利品，只需要在该文件夹内创建一个新的文件即可创建新的战利品，文件名称即为战利品的id。

默认情况下，EliteMobs 包含一个 `test_items.yml` 示例自定义怪物文件，它也是一个很好的示例模板，内容如下：

```
isEnabled: true
material: WOODEN_AXE
name: '&4Test item'
lore:
- This is a cool item
- It has cool lore
enchantments:
- DAMAGE_ALL,10
- FLAMETHROWER,1
potionEffects:
- FAST_DIGGING,0,self,onHit
- POISON,0,target,onHit
- GLOWING,0,self,continuous
dropWeight: dynamic
scalability: scalable
itemType: custom
```

### isEnabled

`isEnabled` 设置是否启用该战利品掉落。

### material

`material` 设置战利品的物品id。

### name

`name` 设置战利品的名称。

### lore

`lore` 设置战利品的 Lore。

### enchantments

`enchantments` 设置战利品的附魔，是列表类型选项，每行配置遵循如下格式：

* `附魔名称,附魔等级`

附魔名称可以在 `~/EliteMobs/enchantments` 文件夹找到，包括原版附魔和 EliteMobs 提供的附魔。

请注意精英保护和精英锋利附魔不能在这里使用。

### potionEffects

`potionEffects` 设置战利品的药水效果，是列表类型选项，每行配置遵循如下格式：

* `药水效果名称,药水效果等级,影响对象,影响方式`

药水效果名称可以在 `~/EliteMobs/potionEffects` 文件夹找到。

请注意药水效果等级最低为0，0实际上代表1级药水。

#### 影响对象

`影响对象` 设置药水效果影响的对象，目前可以填写：

* ***`self`***
* ***`target`***

以上分别代表玩家本身和攻击的对象，以下是几个示例：

* `POISON,0,target,onHit`
* `HEAL,0,target,onHit`

***请注意 `target` 只能是手持该物品时攻击的对象***，也就是说给盔甲使用是没有效果的，除非玩家手持盔甲攻击怪物。

#### 影响方式

`影响方式` 设置药水效果影响的方式，目前可以填写：

* ***`onHit`***
* ***`continuous`***

以上分别代表只在攻击时有短暂药水效果和只要穿戴或者手持即有药水效果。

***请注意手持即有药水效果只能对玩家本身有效，对\*\*\*\* ****`target`**** \*\*\*\*影响对象无效。***

### dropWeight

`dropWeight` 设置战利品掉落权重值，可以填写：

* ***`dynamic`***
* 固定数字 (我推荐填写 `1-10`)。

***让我们再回味配置文件一节所述内容：***&#x45;liteMobs 默认情况下有 5 种战利品掉落权重值系统 `proceduralItemDropWeight`, `weighedItemDropWeight`, `fixedItemDropWeight`, `limitedItemDropWeight` 和 `scalableItemDropWeight`。当玩家击杀怪物后，EliteMobs 将会根据 `ItemSettings.yml` 下面所填写的内容决定掉落何种物品。

```
proceduralItemDropWeight: 90.0
weighedItemDropWeight: 1.0
fixedItemDropWeight: 10.0
limitedItemDropWeight: 3.0
scalableItemDropWeight: 6.0
```

我们已经知道，`proceduralItemDropWeight` 为随机战利品，其他为不同类型的固定战利品。权重值越大代表掉落该类型的战利品几率越大。在这个示例中，很明显我们有很大概率击杀精英怪物掉落的是随机战利品。

如果你设置的是动态权重值（dynamic），那么插件将会自动计算该战利品的品质以及击杀怪物的等级来自动为每次击杀怪物衡量出一个权重&#x503C;***。如果你对设置数值这方面不太擅长，将它设置为 dynamic 也是很不错的选择。***

如果你设置的是固定数字，那么不用我多说。在这个示例中，我们可以假设将所有类型战利品全部变成一副卡片，一共加起来 110 张卡片，那么插件随机抽取一张卡片，卡片代表什么类型的战利品，那么怪物实际就掉落什么类型的战利品。使用这种会导致怪物无论多少级掉落各种类型的战利品概率几乎是一样的，这对于后期的玩家来说不太友好。

不要将某种类型的战利品和其他类型战利品悬差过大，这会导致玩家击杀总是掉落同一类型的战利品，这是不推荐的。

### scalability

`scalability` 设置战利品类型内的选择方式。接上一个选项，当插件选中某种类型战利品以后，这并没有结束，我们到底要掉落哪一个战利品呢？这时 `scalability` 的作用就来了。***请注意插件会自动根据物品的 `dropWeight` 设置它的 `scalability`，因此在这里你只是设置该属性的模式***，你可以填写：

* ***`fixed`***
* ***`limited`***
* ***`scalable`***

`fixed` 将会让自定义战利品就是原来的样子，上面有哪些附魔、药水效果等都是固定的，不会因怪物等级做出改变。这会导致它们往往很少掉落，因为只有一定区间的等级的怪物才会掉落它们。

`limited` 将会让自定义战利品的普通附魔不变，但会挑战它的精英附魔。配置文件内的该战利品的属性作为最大值使用，也就是说小于该物品等级区间的怪物都会掉落它。

`scalable` **是非常推荐的设置**。它会随机改变物品内所有设置，但会根据服主设置的值进行一定比例协调，不会失去其本身的初衷。其普通附魔的等级也不会超过原版的等级。

### itemType

`itemType` 设置该战利品的类型，可以填写：

* ***`custom`***
* ***`unique`***

`custom` 代表该固定战利品可以被所有 EliteMobs 掉落。

`unique` 代表该固定战利品只能被设置了该战利品作为掉落物的怪物掉落，同时不会在商店随机出现。

### customModelID

`customModelID: 1` 设置战利品的 CustomModelData 的值。

### permission

`permission: your.permission` 设置只有拥有该权限玩家才会获得该战利品。
