自定义战利品表
通用战利品格式。EliteMobs 在多个不同的地方都会使用它。
请注意,这是最新的格式,也是推荐使用的格式,但仍存在一些其他的旧格式。
注意: 仍然支持使用冒号分隔语法的旧格式:filename.yml:chance:permission。不过,对于新配置,推荐使用下面所示的现代格式。
在这种旧语法中,几率是必填的。只写一个光秃秃的 filename.yml 后面什么都不加,物品依然会以 100% 的几率掉落,但每次启动都会记录一条 Failed to parse entry ... due to invalid: chance 警告,所以请优先使用 filename.yml:1.0 或现代格式。
在添加任何设置之前,请务必让你的战利品表以 uniqueLootList: 开头,否则 .yml 配置会报错。
掉落精英物品:
| Key | Details | Values | Default |
|---|---|---|---|
filename | 设置要使用的自定义物品的文件名。 | Filename | none |
示例
uniqueLootList:
- filename: magmaguys_toothpick.yml
这会让怪物以 100% 的掉落几率掉落 1 个 MagmaGuy's Toothpick。
通用设置:
| Key | Details | Values | Default |
|---|---|---|---|
chance | 设置该战利品掉落的几率,其中 1.0 表示 100%。 | Double | 1.0 |
amount | 设置该战利品条目掉落的数量。货币条目会忽略它——那种情况请改用 currencyAmount。 | Integer | 1 |
permission | 设置玩家获得该战利品所需的权限节点。精英物品、货币和命令条目都支持它。原版物品条目在两种格式下都不会读取它。 | String | none |
示例
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.5
amount: 10
permission: elitemobs.loot.rare
这会让怪物以 50% 的掉落几率掉落 10 个 MagmaGuy's Toothpick,但仅对拥有 elitemobs.loot.rare 权限的玩家有效。
掉落精英金币:
| Key | Details | Values | Default |
|---|---|---|---|
currencyAmount | 设置将掉落的金币数量。 | Integer | none |
请注意,共用的 amount 键对货币条目不起任何作用——金币的发放数量完全取决于 currencyAmount。仅在冒号分隔的字符串格式下,最终 currencyAmount 为 0 的条目会被拒绝并给出警告,而不会被注册。
示例
uniqueLootList:
- currencyAmount: 344
chance: 0.5
这会让怪物以 50% 的掉落几率掉落 344 个 精英金币(Elite Coins)。
掉落原版物品:
| Key | Details | Values | Default |
|---|---|---|---|
material | 设置所掉落物品的材质。接受 Minecraft 材质名称(不区分大小写)。你也可以用 type 代替 material。 | Material | none |
示例
uniqueLootList:
- material: APPLE
chance: 0.3
amount: 5
这会让怪物以 30% 的掉落几率掉落 5 个 苹果(Apples)。
在战利品掉落时执行命令:
你可以在战利品掉落时执行控制台命令。这对于与其他插件集成或提供自定义奖励很有用。命令条目仅使用冒号分隔的字符串格式。
| Key | Details | Values | Default |
|---|---|---|---|
command | 设置要执行的控制台命令。使用 %player% 作为玩家名称的占位符。 | String | none |
命令本身不能包含 :,也不能包含第二个 =,因为解析该条目时会按这两个字符进行拆分。
chance 对命令条目的实际行为命令条目会对 chance 掷判两次,而且第二次掷判是取反的,所以命令实际的执行概率是 chance × (1 - chance):
chance=1.0(省略时的默认值)意味着命令永远不会执行。chance=0.5给出可达到的最高概率,即 25%。chance=0.9只有 9%。
请始终在命令条目上显式设置一个低于 1.0 的 chance,并且要预料到实际触发率会低于你写下的数值。
示例
uniqueLootList:
- command=give %player% diamond 1:chance=0.5:amount=1:permission=elitemobs.loot.command
这会在怪物被击杀时从控制台执行命令 give <player> diamond 1,大约有 25% 的几率(参见上面的警告)。%player% 占位符会被替换为实际的玩家名称。只有拥有 elitemobs.loot.command 权限的玩家才会触发此命令。
竞技场奖励:
在制作竞技场战利品表时,请务必让你的战利品表以 rawArenaReward: 开头,而不是 uniqueLootList:。
| Key | Details | Values | Default |
|---|---|---|---|
wave | 设置该战利品条目将在第几波次掉落。仅供竞技场使用。原版物品条目支持映射格式,但精英物品(filename)条目仅支持字符串格式。 | Integer | -1 |
itemLevel | 设置战利品掉落的等级。仅供竞技场使用,并且只有精英物品(filename)条目才会读取它。仅在字符串格式中可用,不支持映射格式。 | Integer | 1 |
- 只有
wave为1或更大的条目才会被注册为波次奖励。没有wave的竞技场奖励条目虽然能被解析并接受,但永远不会有任何波次把它发出去。 itemLevel的默认值是1,而不是竞技场或玩家的等级。因此,竞技场在没有显式指定itemLevel的情况下发放的scalable精英物品会以 1 级物品的形式掉落。
示例
rawArenaReward:
- material: BREAD
wave: 1
amount: 10
chance: 0.5
- filename=magmaguys_toothpick.yml:wave=1:itemLevel=2
当玩家击败第一波时,这会让竞技场以 50% 的掉落几率掉落 10 个 面包(Bread),并以 100% 的掉落几率掉落 1 个 2 级的 MagmaGuy's Toothpick。
请注意,这里的精英物品(filename)条目使用了字符串格式,因为 wave 和 itemLevel 仅在字符串格式中才会针对精英物品条目进行解析。原版物品条目(例如上面的 material: BREAD)则接受映射格式中的 wave。
实例化地下城:
| Key | Details | Values | Default |
|---|---|---|---|
difficultyID | 设置该战利品将在哪个实例化地下城难度下掉落。仅供实例化地下城使用。 | String | none |
difficultyID 只会在以下面所示映射格式书写的精英物品(filename)条目上被读取。它在冒号分隔的字符串格式中不会被解析,对原版物品、货币或命令条目也不会被读取。
它还只对自定义 Boss 的战利品生效。宝箱、任务和竞技场战利品都不会对它进行判断。
在实例化地下城内部,该条目的行为如下:
- 地下城难度与
difficultyID匹配:物品会被放入该 Boss 的共享队伍战利品表,而不是直接交给击杀者,因此整支队伍都可以从中领取。 - 地下城难度不匹配:该条目会被跳过。
- 玩家根本不在实例化地下城中:
difficultyID会被忽略,物品照常掉落。
示例
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.5
difficultyID: 1
如果玩家在难度 1 下击败了 Boss,这会让怪物以 50% 的掉落几率掉落 1 个 MagmaGuy's Toothpick。