我的世界高版本服主教程合集
常用工具网站常用开服网站高版本插件推荐免费服务端/福利
EliteMobs Wiki
EliteMobs Wiki
  • 首页
  • 名词解释
  • 指南
    • 快速上手
    • 了解基础玩法
    • 声望系统
    • 配置文件
    • 冒险家大厅世界
    • 地牢部署器
    • 指令与权限
    • 物品升级系统
    • 伤害系统
  • 配置
    • 自定义怪物
    • 自定义模型(ModelEngine)
    • 自定义战利品
    • 自定义区域 BOSS
    • 自定义 BOSS 阶段
    • 自定义小兵
    • 自定义事件
    • 自定义生成规则
    • 自定义任务
    • 自定义 NPC
    • 自定义宝箱
    • 自定义虫洞(传送门)
  • 机制
    • 能力
    • 怪物等级和物品等级计算规则
    • 公告权重值系统
  • 附魔
    • 致命打击(Critical Strikes)
    • 钻孔(Drilling)
    • 地震(Earthquake)
    • 精英保护(Elite Protection)
    • 精英锋利(Elite Sharpness)
    • 喷火(Flamethrower)
    • 狩猎(Hunter)
    • 破冰(Ice Breaker)
    • 等离子靴(Plasma Boots)
    • 星陨(Meteor Shower)
    • 灵魂绑定(Soulbind)
    • 唤狼(Summon Wolf)
    • 唤商(Summon Merchant)
    • 解除绑定(Unbind)
  • 游戏模式
    • 噩梦模式
    • 区域模式
  • 第三方支持
    • WorldGuard 标签(flag)
    • PlaceholderAPI 变量符
    • 伪装(LibsDisguises)
由 GitBook 提供支持
在本页
  • 在我们开始之前
  • 示例怪物
  • isEnabled
  • entityType
  • name
  • level
  • timeout
  • isPersistent
  • healthMultiplier
  • damageMultiplier
  • damageModifiers
  • normalizedCombat
  • helmet/chestplate/leggings/boots/mainhand/offhand
  • isBaby
  • powers
  • boss phases
  • regional boss
  • spawnMessage
  • deathMessage
  • deathMessages
  • escapeMessage
  • locationMessage
  • uniqueLootList
  • dropsEliteMobsLoot
  • dropsVanillaLoot
  • dropsRandomLoot
  • trails
  • onDamageMessages
  • onDamagedMessages
  • mountedEntity
  • announcementPriority
  • followDistance
  • onDeathCommands
  • onSpawnCommands
  • onCombatEnterCommands:
  • onCombatLeaveCommands:
  • disguise
  • customModel
  • frozen

这有帮助吗?

  1. 配置

自定义怪物

在我们开始之前

请注意下面是唯一一个自定义怪物的必须配置选项,这也是一个自定义怪物的最简单配置形式:

entityType: TYPE

其他的配置选项都是可选的。

示例怪物

首先,我们需要知道自定义怪物配置储存在哪里。它们被储存在 ~/EliteMobs/custombosses 文件夹。

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

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

isEnabled: true
entityType: ZOMBIE
name: '&eTest boss'
level: dynamic
timeout: 10
isPersistent: false
healthMultiplier: 2.0
damageMultiplier: 0.5
helmet: GOLDEN_HELMET
chestplate: IRON_CHESTPLATE
leggings: LEATHER_LEGGINGS
boots: CHAINMAIL_BOOTS
mainHand: GOLDEN_AXE
offHand: SHIELD
isBaby: false
powers:
- invulnerability_knockback.yml
spawnMessage: A test boss has been spawned!
deathMessage: A test boss has been slain by $players!
escapeMessage: A test boss entity has escaped!
locationMessage: 'Test entity: $location'
uniqueLootList:
- magmaguys_toothpick.yml:1
dropsEliteMobsLoot: true
dropsVanillaLoot: true
trails:
- BARRIER
onDamageMessages:
- I've hit you!
onDamagedMessages:
- I've been hit!

isEnabled

isEnabled 设置是否启用该自定义怪物。

entityType

entityType 设置自定义怪物的实体类型,你可以在 mobproperties 文件夹查看当前 EliteMobs 支持的实体类型。

示例:

entityType: ZOMBIE

name

name 设置自定义怪物的名称。

示例:

name: "$level &cCool boss!"

变量:

  • $level - "$level Cool boss" - 1 Cool boss

  • $normalLevel - "$normalLevel Cool boss" - [1] Cool boss

  • $minibossLevel- "$minibossLevel Cool boss" - 〖1〗 Cool boss

  • $bossLevel - "$bossLevel Cool boss" - 『1』 Cool boss

  • $reinforcementLevel - "$reinforcementLevel Cool boss" - 〔1〕 Cool Boss

  • $eventBossLevel- "$eventBossLevel Cool boss" - 「1」 Cool boss

以上变量符都是显示怪物的等级,只是显示上有区别,参考所给示例你就能明白,在此不再赘述。

level

level 设置自定义怪物的等级。

  • 任何固定的值

  • dynamic

dynamic 代表动态,会根据当前在线玩家拥有的最高战斗等级来决定它的等级,所以,很少玩家会觉得这个怪物很好打。

示例:

level: 1

timeout

timeout 设置自定义怪物逃跑的时间,以分钟为单位(也就是自动消失)。如果设置为 0 那么该怪物将永远不会自动消失。

示例:

timeout: 20

isPersistent

isPersistent 设置在怪物所在区块被卸载后怪物是否保持存活,只建议对大 BOSS 开启,否则会造成服务器性能问题。

示例:

isPersistent: true

healthMultiplier

healthMultiplier 设置怪物的血量的加倍值,值 0.0001 到 0.9999 代表低于该等级怪物本身的血量值,大于 1 则代表高于。事实上在技术层面上,EliteMobs 并没有实际修改怪物的血量值,它只是通过修改怪物的防御来实现类似效果,不过为了便于理解这里就这么写了。

示例:

healthMultiplier: 1.5

damageMultiplier

damageMultiplier 设置怪物的伤害的加倍值,值 0.0001 到 0.9999 代表低于该等级怪物本身的血量值,大于 1 则代表高于。不会影响怪物能力的伤害。

示例:

damageMultiplier: 1.5

damageModifiers

damageModifiers 设置不同物品对自定义怪物造成的伤害的加倍值,你可以用它制作怪物的弱点和强化。

示例:

damageModifiers:
- material:DIAMOND_SWORD,multiplier:0.8
- material:TRIDENT,multiplier:2.0

在这个示例中,玩家使用钻石剑只会对怪物造成 80% 的伤害,但使用三叉戟将会造成双倍伤害。

normalizedCombat

normalizedCombat 修改怪物的伤害和最大生命值以遵循 MobCombatSettings.yml 中标准化实体的设置。 这对于创建地牢很有用,因为您在进行战斗平衡时不再需要考虑每种实体类型的基础伤害。

示例:

normalizedCombat: 整数类型选项

helmet/chestplate/leggings/boots/mainhand/offhand

helmet/chestplate/leggings/boots/mainHand/offHand 设置怪物的对应槽位(分别为头盔、胸甲、护腿、靴子、主手、副手)的物品id,只对能够穿戴对应槽位的怪物有效。

请注意这里可以设置物品的 CustomModelData 的值,只需要在填写物品id时遵循格式: 物品id:custommodeldata的值。示例: DIAMOND_SWORD:1 则代表怪物手持 CustomModelData 为 1 的钻石剑。

同样地,你还可以设置染色皮革的值,只需要遵循格式:物品id:0xHEX颜色代码。

示例:

helmet: 198c4123-cafc-45df-ba79-02a421eb8ce7
chestplate: DIAMOND_CHESTPLATE:1
leggings: LEATHER_LEGGINGS:0x000000
boots: NETHERITE_BOOTS
mainHand: DIAMOND_SWORD
offHand: SHIELD

isBaby

isBaby 设置怪物是否是幼体,只有部分实体支持,例如僵尸。

示例:

isBaby: true

powers

powers 设置怪物的能力列表(也就是技能),能力可以在 ~/EliteMobs/powers 文件夹查看。部分能力可能不支持部分实体类型,但在这里无法一一提供,如有帮助可联系作者。

示例:

powers:
- hyper_loot.yml

boss phases

regional boss

spawnMessage

spawnMessage 设置当怪物生成时的提示。

示例:

spawnMessage: I rise once more!

deathMessage

deathMessage 设置当怪物死亡时的提示,可以使用变量 $players$ 替代参与击杀怪物的玩家。

示例:

deathMessage: Physical damage, my only weakness!

deathMessages

deathMessages 设置怪物死亡的提示,但是可以多行。

deathMessages:
- '&e&l---------------------------------------------'
- '&4The Test Boss has been killed!'
- '&c&l    1st Damager: $damager1name &cwith $damager1damage damage!'
- '&6&l    2nd Damager: $damager2name &6with $damager2damage damage!'
- '&e&l    3rd Damager: $damager3name &ewith $damager3damage damage!'
- '&4Slayers: $players'
- '&e&l---------------------------------------------'

可以使用变量 $damager1name, $damager2name, $damager3name, $damager1damage, $damager2damage, $damager3damage 和 $players。$damager1name 等代表伤害输出第x名的玩家的名称,$damager1damage 等代表 伤害输出第x名的玩家的输出值。$players 则同上。

escapeMessage

escapeMessage 设置怪物逃跑的消息,只有在 timeout 选项设置的时间到了之后怪物自动消失才会出现。

escapeMessage: "Sayonara!"

locationMessage

locationMessage 设置怪物出现在 Boss 条的信息,用于显示怪物的位置和距离。

  • $distance - 距离。

  • $location - 坐标。

Example:

locationMessage: "&4Cool boss: $distance blocks away!"

uniqueLootList

uniqueLootList 设置该自定义怪物固定的掉落物。

  • itemFilename.yml:掉落几率

itemFilename.yml 替换为自定义战利品名称,也就是 ~/EliteMobs/customitems 文件夹内的文件名称。掉落几率可以填写 0-1 之间的值,例如 0.5 代表 50%。

其他格式:

你还可以使用以下掉落物类型:

  • minecraft:type=物品id:amount=数量:chance=几率 - 掉落原版 MC 物品。

  • SCRAP:等级=x-y:amount=x-y:ignorePlayerLevel=x:chance:x - 掉落 EliteMobs 的卷轴,其中 level=x-y 和 amount=x-y 分别代表卷轴等级数量,x-y 代表在 x-y 之间随机抽取一个数字。ignorePlayerLevel=x 设置是否忽视玩家当前战斗等级而掉落。

  • UPGRADE_ITEM:level=x-y:amount=x-y:ignorePlayerLevel=x:chance:x - 掉落 EliteMobs 的升级球,同上不再赘述。

  • itemFilename.yml:掉落几率:权限 - 设置需要权限才会掉落指定固定战利品。

示例:

- magmaguys_toothpick.yml:1
- minecraft:type=DIAMOND:amount=1:chance=0.9
- SCRAP:level=5-10:amount=10-20:ignorePlayerLevel=false:chance=0.5
- UPGRADE_ITEM:level=5-10:amount=1-2:ignorePlayerLevel=false:chance=0.1
- magmaguys_toothpick.yml:0.5:elitemobs.*

dropsEliteMobsLoot

dropsEliteMobsLoot 设置怪物是否掉落非上面选项设置的其他战利品。

示例:

dropsEliteMobsLoot: true

dropsVanillaLoot

dropsVanillaLoot 设置怪物是否掉落其原版会掉落的物品,例如僵尸掉落腐肉。

示例:

dropsVanillaLoot: true

dropsRandomLoot

dropsRandomLoot 设置怪物是否掉落随机战利品。

示例:

dropsRandomLoot: true

trails

trails 设置怪物的粒子效果。

示例:

trails:
- CLOUD

onDamageMessages

onDamageMessages 设置怪物击打到玩家时随机出现的提示。

示例:

onDamageMessages:
- "I hit you!"

onDamagedMessages

onDamagedMessages 设置玩家击打到怪物时随机出现的提示。

示例:

onDamageMessages:
- "You hit me!"

mountedEntity

mountedEntity 设置怪物的坐骑,可以填写:

  • 某个原版生物的id (示例: mountedEntity: BAT)。

  • 指定自定义怪物的文件名称。

示例:

mountedEntity: balrog.yml

announcementPriority

announcementPriority: 3

followDistance

followDistance 设置怪物的察觉距离,部分实体类型可能不能很好工作。

示例:

followDistance: 30

请注意不要将这里的值设置过大,这将会导致服务器大量 CPU 负担!

onDeathCommands

onDeathCommands设置当怪物死亡时执行的指令列表。可以使用如下变量:

  • $level 代表怪物的等级。

  • $name 代表怪物的名称。

  • $chance=x$ 设置指令执行的几率。

  • $players 代表击杀怪物的玩家,如果击杀者有多位,那么指令会被执行多次。

  • $locationX, $locationY 和 $locationZ 代表怪物死亡的坐标。

onDeathCommands:
- "broadcast $players has killed $name! That was level $level!"
- "$chance=0.5$ What a kill!"

在这个示例中,假设有 Player1、Player2和Player3 三位玩家一起击杀,那么将会执行三次 broadcast 指令:

broadcast Player1 has killed CustomBossName! That was level X!
broadcast Player2 has killed CustomBossName! That was level X!
broadcast Player3 has killed CustomBossName! That was level X!

此外还会有 50% 几率执行如下指令:

What a kill!

onSpawnCommands

onSpawnCommands 设置当怪物生成时执行的指令列表。 $chance=x$ 变量同样可用。

示例:

onSpawnCommands:
- broadcast Boss has spawned!

onCombatEnterCommands:

onCombatEnterCommands 设置当怪物进入战斗时执行的指令列表。 $chance=x$ 变量同样可用。

onCombatEnterCommands:
- broadcast Boss has entered combat!

onCombatLeaveCommands:

onCombatLeaveCommands 设置当怪物离开战斗时执行的指令列表。 $chance=x$ 变量同样可用。

onCombatLeaveCommands:
- broadcast Boss has left combat!

disguise

customModel

示例:

customModel: your_model

frozen

frozen 设置怪物是否原地不动。

示例:

frozen: true
上一页伤害系统下一页自定义模型(ModelEngine)

最后更新于2年前

这有帮助吗?

设置怪物的阶段(形态),更多信息请 查看。

有关区域 BOSS 的大概介绍,请 查看。有关区域 BOSS 如何设置,请 查看。

需要依赖公告权重值系统,下面不再赘述,有关公告权重值相关信息,请 查看!

需要依赖公告权重值系统,下面不再赘述,有关公告权重值相关信息,请 查看!

需要依赖公告权重值系统,下面不再赘述,有关公告权重值相关信息,请 查看!

需要依赖公告权重值系统,下面不再赘述,有关公告权重值相关信息,请 查看!

需要依赖公告权重值系统,下面不再赘述,有关公告权重值相关信息,请 查看!

announcementPriority 设置公告权重值,请 了解详情。

disguise 设置怪物的伪装,更多信息请 查看。

customModel 设置怪物的模型,更多信息请 查看。

点击这里
点击这里
点击这里
点击这里
点击这里
点击这里
点击这里
点击这里
点击这里
点击这里
点击这里