实体(Mobs)
概览(Preview)
- MM实体内部ID是区分大小写的,如你的MM怪叫KK,而你使用/mm m s Kk后,MM会提示无法找到该实体
- MythicMobs基于自定义的生物(或实体),有很多选项和属性可以使用。下面是可以添加到自定义生物中的选项和属性的完整列表。
- 其中大多数是可选的,这意味着您不必每次创建新的生物时都配置整个列表。真正必要的只是内部生物名称(internal_mobname)和生物种类(Type)。
- 你可以在Mobs文件夹中创建任意数量的文件,文件名称随意,格式为yml或txt。
一个带有所有选项的示例
|
鲲鲲的主人: #实体内部ID
Type: WITHER_SKELETON #怪物类型,这里为凋灵骷髅
Display: '§b鲲鲲' #怪物显示名,这里为蓝色的"鲲鲲"
DamageModifiers: #伤害调整
- LIGHTNING 0.1 #减少90%的雷击伤害
- FIRE 2.0 #额外受到一倍火焰伤害
- AIR 1.0 #正常受到窒息伤害
- ICE 0.5 #这个咱不知道是啥
Disguise: #伪装
Type: Player #伪装类型
Skin: Knight #若类型为Player,所用的玩家皮肤
Player: '§d§l鲲鲲大魔王' #若类型为Player,所显示的怪物名称
Invisible: false #可见,true为不可见
ShowName: false #不显示名字,false为显示名字
BossBar: #Boss血条
Enabled: [true/false] #开启/关闭
Title: '鲲鲲大魔王!' #标题文本为鲲鲲大魔王!
Range: 5 #处在5m内的玩家会康到Boss血条
Color: RED #BOSS血条为红色
Style: SOLID #字体样式
Health: 100 #怪物生命
Modules: #额外模块
ThreatTable: true #开启威胁表
ImmunityTable: true #开启伤害硬直,开启后生物选项: NoDamageTicks才可以工作
Mount: 鲲鲲 #怪物会骑着一只内部ID为"鲲鲲"的怪物
Faction: 鲲鲲 #怪物所属派系为鲲鲲
Armor: 100 #实体额外获得500点生命
Damage: 100 #实体伤害为100点
Drops: #怪物掉落配置
- 笨蛋鲲鲲的头 1 1 #必定掉落一个MM物品内部ID为"笨蛋鲲鲲的头"
- exp 10 1 #必定掉落10经验
- DIAMOND 1 0.9 #90%掉落1颗钻石
Trades: #村民交易相关
Equipment: #装备配置
- DIAMOND_SWORD:0 #主手拿着钻石剑
- DIAMOND_SWORD:5 #副手拿着钻石剑
- 鲲鲲头盔:4 #戴着"鲲鲲头盔"
- 鲲鲲胸甲:3 #穿着"鲲鲲胸甲"
- 鲲鲲护腿:2 #穿着"鲲鲲护腿"
- 鲲鲲靴子:1 #穿着"鲲鲲靴子"
KillMessages: #击杀信息配置
- '<target.name>,你死了,ba————ka。' #没啥好说的,这里的<target.name>就是怪物的目标的名字
Options: #选项
KnockbackResistance: 1 #防击退,1为100%
MovementSpeed: 0.2 #移动速度,0.2为普通僵尸移速
AlwaysShowName: true #永远显示怪物名
PreventSunburn: true #防止烧伤,此为4.10新增选项
|
实体类型(Type)
- 隐形盔甲架在MM4.12版以下生成の一瞬间能够被康到,此漏洞修复于4.12
- 确定实体の类型
- 不区分大小写
- 正常情况下不支持模组实体类型,需魔改
- 不支持写入复数(s/es)
- 蜘蛛骑士/鸡骑士为多生物,要生成它们请配合Mount(骑乘)
可识别的种类列表
蓝色为1.14新增,蓝色粗体为1.15新增,深蓝色为1.16新增,深蓝色粗体为1.17新增
英文名字 |
中文名字
|
Armor_Stand |
盔甲架
|
Axolotl |
美西螈
|
Baby_Drowned |
幼年溺尸
|
Baby_Hoglin |
幼年疣猪
|
Baby_Pig_Zombieman |
幼年僵尸猪人
|
Baby_Pig_Zombie_Villager |
幼年僵尸猪村民
|
Baby_Zombie |
幼年僵尸
|
Baby_Zombie_Villager |
幼年僵尸村民
|
Bat |
蝙蝠
|
Bee |
蜜蜂
|
Blaze |
烈焰人
|
Boat |
船
|
Cat |
猫
|
Cave_Spider |
洞穴蜘蛛
|
Chicken |
鸡
|
Cow |
牛
|
Creeper |
爬行者
|
Drowned |
溺尸
|
Donkey |
驴
|
Elder_Guardian |
远古守卫者
|
Ender_Dragon |
末影龙
|
Enderman |
末影人
|
Endermite |
末影螨
|
Evoker |
唤魔者
|
Experience_Orb |
经验球(MM4.12+)
|
Falling_Block |
掉落中的方块(一般为沙子)
|
Fox |
狐狸
|
Ghast |
恶魂
|
GIANT |
巨人
|
Glow_Squid |
发光鱿鱼
|
Goat |
山羊
|
GUARDIAN |
守卫者
|
Hoglin |
疣猪兽
|
Horse |
马
|
Husk |
尸壳
|
Illustoner |
幻术师
|
Iron_Golem |
铁傀儡
|
Marker |
不可见低耗能实体
|
Magma_Cube |
岩浆怪
|
Mule |
骡
|
Mushroom_Cow |
哞菇
|
Ocelot |
豹猫
|
Panda |
熊猫
|
Pillager |
掠夺者
|
Ravager |
劫掠兽
|
PIG |
猪
|
Piglin |
猪灵
|
Piglin_Brute |
猪灵蛮兵
|
Pig_Zombie |
僵尸猪人
|
Pig_Zombie_Villager |
僵尸猪村民
|
Phantom |
幻翼 支持设置:Size
|
Pifferfish |
河豚
|
Primed_Tnt |
点燃的TNT
|
Polar_Bear |
北极熊
|
Rarrit |
兔子
|
Salmon |
鲑鱼
|
Sheep |
羊
|
Silverfish |
蠹虫
|
Skeleton |
骷髅
|
Skeleton_Horse |
骷髅马
|
Shulker |
潜影贝
|
Slime |
史莱姆
|
Snowman |
雪傀儡
|
Spider |
蜘蛛
|
Strider |
炽足兽
|
Stray |
流髑
|
Squid |
鱿鱼
|
Tropical_Fish |
热带鱼
|
Trader_Llama |
行商羊驼
|
Turtle |
海龟
|
Villager |
村民
|
VINDICATOR |
卫道士
|
Wandering_Trader |
流浪商人
|
Wtich |
女巫
|
Wither |
凋灵
|
Wither_Skeleton |
凋零骷髅
|
Wolf |
狼
|
Zoglin |
僵尸疣猪兽
|
Zombie |
僵尸
|
Zombie_Horse |
僵尸马
|
Zombie_Villager |
僵尸村民
|
Type: zombie
Type: SKELETON
Type: DoNkEy
名字显示(Display)
- 生物头上所显示的名字
- 支持颜色代码和变量
- 必须填写在撇号'内'
- 不支持一些特殊符号,栗❤。
- 若想名字内显示'撇号,可以使用'的变量代码<&sq>
- 若想要让名字持续读取变量,应使用技能:Setname(设置名字)
Display: '鲲鲲'
Display: '&e带颜色的涩鲲鲲'
Display: '&c康起来不友好的鲲鲲&r - <mob.level>'
基础属性(付费版支持变量)
基础属性
|
- 血量(Health)
- 设置生物的最大血量
- 最大值为java算法最大值,即10e+
然而Spigot有2048的最大限制,可在spigot.yml内修改
Health: 200
- 伤害(Damage)
- 设置生物的基础近战攻击力
- 1点伤害=0.5颗心
- 不会涉及到近战以外的伤害,如弓箭、爆炸、恶魂火焰弹、药水等所造成的伤害。
Damage: 10
在4.9+:
<spoiler>
- 添加了伤害类型选项,可以设置为任意值你可以在damageodifiers(受伤加成)和onDamaged aura(受指定伤害)
- 中使用你定义的任何自定义伤害类型
鲲鲲:
Type: COW
DamageModifiers:
- LIGHTNING 0.1
- FIRE 2.0
- AIR 1.0
- ICE 0.5
Skills:
- message{m="受到伤害类型为<skill.var.damage-type>,<skill.var.damage-amount>点伤害"} @PIR{r=50} ~onDamaged
- 这只鲲鲲会受到一半的ICE伤害,百分之百的玩家造成的伤害,两倍的烧伤伤害,十分之一的雷击伤害.
下面是技能例子
Skills::
- damage{amount=10;element=FIRE} @T ~onAttack
- damage{amount=10;element=ICE} @T ~onAttack
- 当鲲鲲攻击时,对目标造成10点ICE类型的伤害和10点FIRE类型的伤害,结合上面所写的DamageModifiers
- 这只鲲鲲会受到20点FIRE类型的伤害和5点ICE类型的伤害,总和25点伤害.
</spoiler>
额外生命(Armor)
Armor: 7
|
Boss血条(BossBar)
- 需要前置插件:BossBar
- 像末影龙/凋灵一样在屏幕最上方显示该实体の血条
- 重载插件后,若重载之前の实体消失了,则Boss血条不会消失,此漏洞修复于4.12
详解
|
鲲鲲:
Type: <mobtype>
BossBar:
Enabled: [true/false]
Title: '显示文本,支持变量'
Range: 范围值
Color: [color]
Style: [style]
CreateFog: [true/false]
DarkenSky: [true/false]
PlayMusic: [true/false]
- Enabled—是否显示
- Title—显示的名字,支持变量,且支持变量持续读取
- Range—显示的半径范围
- Color—血条的颜色
- PINK,BLUE,RED,GREEN,YELLOW,PURPLE,WHITE
区分大小写
- Style—字体风格
- SOLID,SEGMENTED_6,SEGMENTED_10,SEGMENTED_12,SEGMENTED_20
区分大小写
- CreateFog,DarkenSky和PlayMusic暂时不可用
鲲鲲:
Type: creeper
BossBar:
Enabled: true
Title: '咱是baka'
Range: 20
Color: RED
Style: SOLID
|
阵营(Faction)
- 设置生物所属的阵营,主要用于编辑AI或技能的攻击目标
- 区分大小写,识别字母和数字以及下划线
- 若玩家拥有权限:faction.阵营名,则玩家会成为指定派别的成员
Faction: 鲲鲲
Faction: 鲲_鲲
骑乘(Mount)
- 设置生物骑乘,骑乘必须为MM生物
- 设置完后,生物生成时便会召唤并骑乘
Mount: 鲲鲲
更多有关选项的内容,请点击-->选项页面
- 修改或给予生物一系列的可修改项,如是否消失、击退抗性、跟踪范围、移动速度等(有很多哦...)
鲲鲲:
Type: skeleton
Display: '跑得非常快且受伤间隔为3秒的鲲鲲'
Options:
MovementSpeed: 0.3
NoDamageTicks: 50
模块(Modules)
- 设置启用/禁用威胁度(Threat Tables)和伤害硬直(Immunity Tables)模块
威胁度(Threat Tables)
威胁度用于控制生物的攻击目标。一般情况下原版的生物只会单纯地以最后一个伤害源为攻击目标。
若是启用威胁度,生物便会记录各玩家对他所造成的伤害,并因此选择累计造成伤害最高的玩家为攻击目标。从而避免生物两头跑被调戏的尴尬局面。
威胁度的几个内置功能让生物的目标选择能力看起来更聪明,并遵从一般MMORPG游戏下的规则。玩家通过造成伤害提升对生物的威胁度,若是远离BOSS便会降低威胁度。
一段时间内超过生物的最大攻击范围(MaxCombatRange),离开当前世界,或退出游戏的话也会降低其威胁度。
生物只会在新的威胁度超过当前攻击目标威胁度的110%时才会改变攻击目标。
注意-启用威胁度的生物会无视AITargetSelectors下的设置。并且,启用的生物会尝试攻击任何对他造成伤害的实体。
有关威胁度の变量必须开启威胁度
启用办法:ThreatTable后面设为true
鲲鲲:
Type: zombie
Display: '&6Zombie'
Health: 20000
Modules:
ThreatTable: true
威胁度的计算是全自动进行的。若想特意修改生物对某目标的威胁度,可通过技能:SetThereat进行修改。
威胁度还拥有API,包括"嘲讽"和改变威胁的能力,若另一个插件作者有意修改技能或能力与威胁度的关系。</spoiler>
伤害硬直(Immunity Tables)
伤害硬直允许生物在受到伤害时记录各玩家的伤害免疫时间(NoDamageTicks),换句话说生物只会在每(默认)半秒的时间内受到同一个玩家的伤害。没开启伤害硬直的话就是每半秒的时间内受到伤害。其意义就是允许多个玩家同时或短时间内攻击生物时,生物会受到多次伤害计算。
启用办法:ImmunityTable后面设为true
鲲鲲大魔王:
Type: zombie
Display: '&6鲲鲲大魔王'
Health: 20000
Modules:
ImmunityTable: true
Options:
NoDamageTicks: 10
- 可通过修改通用选项下的NoDamageTicks定义伤害硬直的时间
默认设置为10刻(也就是0.5秒)
村民交易(Villager Trades)
4.8.0+,你可以自定义村民交易,请注意,村民必须要有职业才能进行交易,有的交易可能需要让村民达到一定的交易等级
Result; mmoitems.鲲鲲 表示的是出售mmoitems物品:鲲鲲
栗子
|
鲲鲲:
Type: VILLAGER
Display: '&6鲲鲲'
Health: 20
Faction: tester
Options:
#职业为白痴
Profession: NITWIT
#皮肤类型为沙漠村民
Type: DESERT
#交易等级为2
Level: 2
#交易项目
Trades:
#5个绿宝石和5个钻石可换一把钻石剑,一次补货最多可换五次
1:
Item1: 5 EMERALD
Item2: 5 DIAMOND
Result: DIAMOND_SWORD
MaxUses: 5
#64颗绿宝石换一把鲲鲲之剑,一次补货最多可换一把
2:
Item1: 64 EMERALD
Result: 鲲鲲之剑
MaxUses: 1
|
自定义AI
不再需要用数字来代表优先度了,从上倒下越往上优先度越高
下面是几个自定义AI教程示例
第一个教学:目标,对象,阵营
|
- 自定义AI通常会使用到的两个东西。AI行动目标,确定生物的行动。还有AI对象目标,确定生物所选取的攻击对象或技能目标。
- 阵营用于归类生物的所属组群,并用于之后的设置。
- 一般来讲,游戏内所有的生物都有其内置AI使其运作。
- 比如骷髅的AI要求其以玩家为目标,并且使用弓箭攻击玩家。
- 若想使用MM修改骷髅的AI,首先需要做的是清除当前生物的AI,然后进行修改。
坏鲲鲲:
Mobtype: skeleton
Display: '&a一只坏鲲鲲!'
Health: 15
Damage: 1
Faction: Undead
AIGoalSelectors:
- clear
- arrowattack
AITargetSelectors:
- clear
- players
Options:
FollowRange: 10
MovementSpeed: 0.2
PreventOtherDrops: true
- 以上就是一个骷髅使用弓箭攻击的例子(除去其他多余项目,四处走动什么的)
- AIGoalSelectors要求骷髅平时使用arrowattack这一行为
- 而AITargetSelectors确定这个骷髅使用arrowattack的目标,也就是玩家(players)
- clear总是排在首位就是用于清除生物原本的AI,保证所设置的AI稳定运行
- 那么若想坏鲲鲲揍生物,并且攻击方式变为近战,只需要这么写:
坏鲲鲲:
Mobtype: skeleton
Display: '&a又是一只坏鲲鲲!'
Health: 15
Damage: 1
Faction: 笨蛋鲲
AIGoalSelectors:
- clear
- meleeattack
AITargetSelectors:
- clear
- hurtbytarget
- otherfactionmonsters
Equipment:
- 坏鲲鲲剑:0
Options:
FollowRange: 10
MovementSpeed: 0.2
PreventOtherDrops: true
- 现在,坏鲲鲲的AI就被设置为攻击任何不属于同派系的生物,不会攻击无派系生物,并且优先攻击打自身的怪物。使用近战攻击
- AIGoalSelectors下的meleeattack令生物使用近战。
- 坏鲲鲲(骷髅)必须拿着武器(应该是只要不拿着弓,空手也可以的)才能进行近战,拿着弓时是不能近战的。
- 这并不会发生在僵尸身上。
- 现在AITargetSelectors下的players被移除,所以坏鲲鲲不会主动攻击玩家,而是会攻击和自己所属阵营不同的生物(例子为攻击笨鲲鲲以外的生物)。
- 还有这个优先度为1的hurtbytarget,如果有其他实体优先攻击骷髅,坏鲲鲲就会进行还击
- AITargetSelectors和AIGoalSelectors可到这里查看
|
示例1:双面鲲鲲
|
- 接下来我们将设置一个守在城门的守卫用于赶走靠近的怪物。
- 我们的守卫可以使用铁傀儡伪装成村民,不过这样的话铁傀儡原有的AI和其特殊的击飞攻击使其略厉害了点...
- 所以我们现在用MM的AI设置一个适合我们使用的守卫。
- 恩啊,首先我们需要一个勇敢的护卫。使用骷髅伪装成村民,并给其佩上一把剑
好鲲鲲:
Mobtype: skeleton
Display: '&e好鲲鲲'
Health: 500
Damage: 5
Equipment:
- 鲲鲲剑:0
Options:
Disguise: villager
Despawn: true
FollowRange: 5
AlwaysShowName: false
MovementSpeed: 0.35
PreventOtherDrops: true
KnockbackResistance: 1
PreventMobKillDrops: true
- 若是我们现在就把这生物放出去,因为AI还没改,会攻击玩家。所以现在我们要把他的态度(AI)做一下调整
好鲲鲲:
Mobtype: skeleton
Display: '&E好鲲鲲'
Health: 500
Damage: 5
Equipment:
- 斯哈斯哈:0
Faction: 鲲鲲
AIGoalSelectors:
- clear
- opendoors
- meleeattack
AITargetSelectors:
- clear
- hurtbytarget
- otherfactionmonsters
Options:
Disguise: villager
Despawn: true
FollowRange: 5
AlwaysShowName: false
MovementSpeed: 0.35
PreventOtherDrops: true
KnockbackResistance: 1
PreventMobKillDrops: true
- 现在的话我们的守卫就会攻击和自己不是同一阵营的怪物
- 并且攻击伤害到他的生物(同时给予那些"多手"的玩家还击)
- 而且这个守卫还会有需要的话打开其前面的门
- 前半问题解决了。那么现在要保证那些在城门附近四处游荡的怪物被守卫伤到时也会还击
- 下面就是一个已经加上会受伤后进行还击AI的例子
坏鲲鲲:
Mobtype: skeleton
Display: '&a坏鲲鲲'
Health: 15
Damage: 1
Faction: 笨鲲鲲
AIGoalSelectors:
- clear
- meleeattack
AITargetSelectors:
- clear
- hurtbytarget
- players
Equipment:
- COS_RawHead:4
- COS_WoodSword:0
Options:
Despawn: true
FollowRange: 10
AlwaysShowName: false
MovementSpeed: 0.2
PreventOtherDrops: true
- 坏鲲鲲属于笨鲲鲲派(不同于好鲲鲲的鲲鲲派),所以这个怪物会被守卫当作攻击对象。
- 然后怪物受到伤害时因为有hurtbytarget,我们的怪物便会进行还击
- 为了好鲲鲲能正确辨别出攻击对象,我们尽量使周围生成的怪物与好鲲鲲的阵营不同
- (可在原版生成下给比如僵尸加上阵营,那么游戏下自然生成的僵尸就全都有阵营了)
- 现在的话我们的设置就算基本完成了
- 还可以加上一些额外的设置,比如这里我们设置了好鲲鲲为比较小的跟踪范围(FollowRange),这能保证好鲲鲲不会为了杀怪而走得太远。
- 并且PreventMobKillDrops能保证好鲲鲲所杀的怪物不会掉落物品和经验(防止玩家得逞...)
- 其实还有很多 设置Options无敌 用技能使好鲲鲲巡逻或归位
|
示例2:好鲲鲲vs坏鲲鲲
|
- 设想一下,一个世界里有两个种群,好鲲鲲和坏鲲鲲,而他们对对方一直以来都不太友善。
- 通过使用MM的自定义AI使他们除了会攻击玩家外,当遇上对方时便会打起来的样子
- 以下一个好鲲鲲 一个坏鲲鲲的配置
好鲲鲲:
Mobtype: villagez
Display: '&a好鲲鲲'
Health: 50
Damage: 4
Faction: 好鲲鲲派系
AIGoalSelectors:
- clear
- opendoors
- meleeattack
AITargetSelectors:
- clear
- hurtbytarget
- specificfactionmonsters 坏鲲鲲派系
- players
Equipment:
- 好鲲鲲头盔:4
- 好鲲鲲胸甲:3
- 好鲲鲲护腿:2
- 好鲲鲲靴子:1
- 好鲲鲲剑:0
Options:
Despawn: true
FollowRange: 10
AlwaysShowName: false
MovementSpeed: 0.25
PreventOtherDrops: true
PreventItemPickup: true
KnockbackResistance: 0.25
PreventMobKillDrops: true
坏鲲鲲:
Mobtype: zombie
Display: '&a一只坏鲲鲲'
Health: 80
Damage: 4
Faction: 坏鲲鲲派系
AIGoalSelectors:
- clear
- opendoors
- meleeattack
AITargetSelectors:
- clear
- hurtbytarget
- specificfactionmonsters 好鲲鲲派系
- players
Equipment:
- 坏鲲鲲头盔:4
- 坏鲲鲲胸甲:3
- 坏鲲鲲护腿:2
- 坏鲲鲲靴子:1
- 坏鲲鲲斧:0
[Skills::
- skill:坏鲲鲲突击 @target ~onAttack >0 0.25
Options:
Despawn: true
FollowRange: 10
AlwaysShowName: false
MovementSpeed: 0.25
PreventOtherDrops: true
PreventItemPickup: true
KnockbackResistance: 0.4
PreventMobKillDrops: true
- 设置里几个比较要注意的
- 分别设置好鲲鲲的阵营为好鲲鲲派系,坏鲲鲲的阵营为坏鲲鲲派系,从而分别他们所属的阵容
- 设置两边的行动最优到最后分别是clear,opendoors,meleeattack
近战的一般都可以参考这样来设置
- 目标上的AI首位设置clear并在后面加上3个攻击目标
- 先说说hurtbytarget其意义之前说的一样,保证生物懂得还手并且不被玩家欺负
- 然后是这个specifictargetfaction,设置成这样互相对立会使其各自以对方为攻击对象
- 最后这个players就是当这个怪物没检测到对家时就会以玩家为攻击目标
- 最后的最后这个PreventMobKillDrops保证在游荡中被其他生物杀害时不会掉落物品
|
行动选择器(AIGoalSelectors)
行动选择器,顾名思义规定生物的行动。若生物自身没有此项基本行动就不会对其产生作用。例如,僵尸不会也不能吃草(EatGrass)。
选择器配置栗子
|
鲲鲲:
Type: zombie
Health: 200
Display: '鲲鲲'
AIGoalSelectors:
- clear
- meleeattack
- randomstroll
这只鲲鲲除了会攻击玩家,还会在没有攻击目标时随意走动。
|
所有可用的行动选择器
|
所有生物(All Mobs)
|
项
|
别名
|
备注
|
clear
|
reset
|
清除生物的AI 放置首位保证生物AI的正常运行
|
breakdoors
|
|
使生物懂得破门
|
eatgrass
|
|
使生物偶尔...吃草
|
float
|
swim
|
使生物懂浮在水面,不被淹死
|
lookatplayers
|
|
望向附近玩家
|
opendoors
|
opendoor
|
使生物懂得打开面前的门并经过后关上
|
closedoors
|
restrictopendoor
|
不清楚有什么用 哪位来测试下:P (原话哦...)
|
randomlookaround
|
lookaround
|
随处观看
|
生物(Creatures Only)
|
项
|
别名
|
备注
|
avoidcreepers
|
|
使生物躲避爬行者
|
avoidskeletons
|
|
使生物躲避骷髅
|
avoidzombies
|
|
使生物躲避僵尸
|
fleesun
|
|
白天躲在阴影内
|
meleeattack
|
|
使生物靠近并近攻目标
|
movetowardstarget
|
|
使生物靠近目标
|
randomstroll
|
|
随处走动
|
restrictsun
|
|
理论上能限制生物走向高亮度的地方
|
fleeplayers
|
runfromplayers
|
躲避玩家
|
fleegolems
|
runfromgolems
|
躲避铁傀儡
|
fleevillagers
|
runfromvillages
|
躲避村民
|
fleewolves
|
runfromwolves
|
躲避狼
|
spiderattack
|
|
使蜘蛛攻击目标(看着和meleeattack没什么不同) *可尝试配合leapattarget使用
|
leapattarget
|
|
使生物跳向目标*貌似需要meleeattack/spiderattack才能正常运作
|
moveindoors
|
|
使生物进入一间房子(使用村民的房屋判定移动AI)
|
movethroughvillage
|
|
使生物穿过村庄(使用铁傀儡的移动AI)
|
movetowardsrestriction
|
|
在特定区域中移动
|
patrol x1,y1,z1;x2,y2,z2;x3,y3,z3;…
|
patrolroute
|
巡逻,坐标之间走动
|
gotolocation x,y,z
|
goto
|
走向坐标
|
gotospawnlocation
|
gotospawn
|
走向该实体出生点
|
panicWhenOnFire
|
panic
|
着火时寻找并进入水
|
gotoowner
|
|
走向主人
|
fleeConditionaI(仅限付费版)
|
fleeIf
|
躲避符合条件の实体,格式见下
|
doNothing(仅限付费版)
|
|
符合条件则不做任何事
|
射手(Ranged Entities Only)
|
项
|
别名
|
备注
|
arrowattack
|
|
射箭(无需拉弓 无骷髅闪避AI)
|
skeletonbowattack
|
bowshoot bowmaster
|
拉弓射箭并有骷髅闪避AI
|
猪灵(1.16+)与掠夺者(1.14+)(Piglins and Pillagers Only)
|
项
|
别名
|
备注
|
crossbowAttack
|
|
用弩射击
|
skeletonbowattack
|
bowshoot bowmaster
|
拉弓射箭并有骷髅闪避AI
|
|
关于AI行动器: fleeIf
格式
AIGoalSelectors:
- fleeConditional{distance=5; speed=2; conditions=[
- inlineofsight
- entitytype COW
]}
以2米/秒の速度,半径5米的躲避范围躲避实体类型为牛且处在自身视野前方の实体
关于AI行动器: gotolocation与gotoowner
- 来自叁皮的测试..若不修改生物选项: FollowRange(跟随距离),则可能因为距离过远而无法到达(不同生物可能有不同的跟随距离)
- 牛的跟随距离:约16格方块
- 僵尸的跟随距离:约32格方块
目标选择器(AITargetSelectors)
目标选择器,顾名思义设置实体の目标
部分目标选择器本应该选择,却无法选择处在创造/观察者模式下の玩家の漏洞修复于4.11
目标选择器栗子
|
鲲鲲:
Type: zombie
Health: 200
Display: '鲲鲲'
AIGoalSelectors:
- clear
- meleeattack
- randomstroll
AITargetSelectors:
- clear
- players
- golems
|
所有可用的目标选择器
|
====所有生物(All Creatures)====
- clear—清除所有AI
- attacker(hurtbytarget)—以攻击源为目标
- players—以玩家为目标
- villagers—以村民为目标
- golems—以傀儡为目标
- nearestConditionalTarget(nearestConditional,nearestIf)—仅限付费版,以符合条件の最近实体为目标,格式
AITargetSelectors:
- clear
- nearestConditionalTarget{conditions=[
- entitytype PLAYER true
- hasaura{aura=鲲鲲} true
]}
限制实体以类型为玩家且拥有鲲鲲光环の实体为目标
阵营相关(Faction Support)
- OtherFaction—以自身以外阵营的生物为目标
- OtherFactionMonsters—以自身以外阵营的怪物为目标?
- OtherFactionVillagers—以自身以外阵营的村民为目标
- SpecificFaction [阵营名字]—特指一个阵营内的MythicMobs实体为目标
- SpecificFactionMonsters [阵营名字]—特指一个阵营内实体类型为敌对实体的MythicMobs实体为目标
AITargetSelectors:
- 1 SpecificFaction 鲲鲲
限制实体只以处在鲲鲲判别の生物为目标
可驯服类(Tameable Creatures)
- ownerattacker—以攻击自己主人的对象为目标
- ownertarget—以自己主人攻击的对象为目标
|
伤害调整(DamageModifiers)
- 为实体增加伤害抗性
- 比如..免疫近伤,但受到弹射物伤害加倍...
- 影响技能造成の伤害,如Ignite(点燃)造成の燃烧被FIRE_TICK影响
伤害类型ID |
说明
|
BLOCK_EXPLOSION |
方块爆炸所造成的伤害
|
CONTACT |
接触仙人掌之类的方块造成的伤害
|
CRAMMING |
实体挤压造成的伤害
|
CUSTOM |
自定义
|
DRAGON_BREATH |
龙息伤害
|
DROWNING |
溺水
|
DRYOUT |
渴死(例如岸上的鱿鱼/海豚)
|
ENTITY_ATTACK |
实体造成的伤害
|
ENTITY_EXPLOSION |
实体爆炸所造成的伤害(例如爬行者/火焰弹)
|
ENTITY_SWEEP_ATTACK |
剑横扫所造成的伤害
|
FALL |
从3格高(或以上)摔下来所造成的伤害
|
FIRE |
直接站在火焰上造成的伤害
|
FIRE_TICK |
火焰每秒燃烧造成的伤害
|
FLY_INTO_WALL |
站在岩浆块上造成的伤害
|
HOT_FLOOR |
处在熔岩内造成的伤害
|
LAVA |
熔岩伤害
|
LIGHTING |
雷击伤害
|
MAGIC |
魔法(药水)伤害
|
MELTING |
融化(雪傀儡)伤害
|
POISON |
中毒伤害
|
PROJECTILE |
弹射物伤害
|
STARVATION |
饿死
|
SUFFOCATION |
窒息伤害
|
SUICIDE |
命令"/kill"伤害(xx掉出了世界)
|
THORNS |
荆棘附魔造成的伤害
|
VOID |
虚空伤害
|
WITHER |
凋零伤害
|
栗子
|
注意:设置为1的话就是受到全数伤害 高于1就会受到比原本多的伤害 低于1就是减少等值伤害 0为免疫此伤害 设为负数值的话就会进行回血,但若此生物原本就免疫此伤害就不凑效(比如铁傀儡免疫摔伤,烈焰人免疫烧伤/岩浆)
鲲鲲:
Mobtype: zombie
Display: '&a鲲鲲'
Health: 40
Damage: 6
- 呐,我们先为鲲鲲提升受到两个伤害的抗性吧。近战和弹射物受到的伤害为原来的75%,如下
鲲鲲:
Mobtype: zombie
Display: '&a鲲鲲'
Health: 40
Damage: 6
DamageModifiers:
- ENTITY_ATTACK 0.75
- PROJECTILE 0.75
- 这样鲲鲲就获得了这俩伤害抗性,任何伤害类型为这俩个的伤害就会减去25%的伤害
鲲鲲:
Mobtype: zombie
Display: '&a鲲鲲'
Health: 40
Damage: 6
DamageModifiers:
- ENTITY_ATTACK 0.75
- PROJECTILE 0.75
- MAGIC 1.25
- 鲲鲲就对近伤/弹射物有少许抗性,且弱点为magic(投掷型药水)
- 下一个栗子为抗火鲲鲲,不仅免疫接触火焰/岩浆伤害,还会从中恢复血量。接触岩浆时恢复4倍岩浆伤害
不适用于下界生物,因为他们自身免疫火焰伤害导致伤害调整不可修改
鲲鲲:
Mobtype: zombie
Display: '&c鲲鲲'
Health: 20
DamageModifiers:
- FIRE -1
- LAVA -4
- FIRE_TICK 0
|
装备(Equipment)
- 给予生物生成时装备上原版或MM物品/装备
- 装备只会在其生成时装备上,之后可以被如技能:Equip更改,同时生成时装备会带有穿上物品的声音
- 使用PreventRandomEquipment,防止生物生存时携带随机物品,详见Options
或为其装备上空气(AIR/0)
装备配置栗子
|
鲲鲲:
Type: <生物类型>
Equipment:
- <物品名>:<槽位>
- <物品名>:<槽位>
- ...
- <物品名>
可以是MM配置物品或原版物品
- <槽位>
决定物品所在的装备槽
|
点击下面的"折叠"展开槽位列表
槽位列表
|
槽 |
描述
|
5(OFFHAND) |
非主手槽,1.9的新功能。能渲染任何物品
|
4(HEAD) |
头部。除了头盔外,可以是任何拥有方块模型的物品(如砧板,玻璃片,玻璃块...)或玩家头颅。大部分能准确渲染
|
3(CHESTPLATE) |
胸部。只渲染胸甲,但可以装备任何物品
|
2(LEGGINGS) |
腿部。只渲染腿部装备,但可以装备任何物品
|
1(BOOTS) |
脚部。只渲染靴子,但可以装备任何物品
|
0(HAND) |
主手槽。渲染任何物品
|
可以写数字也可以写大写英文
栗子
|
鲲鲲:
Type: Zombie
Equipment:
- 鲲鲲头盔:4
- diamond_sword:0
头部的鲲鲲头盔为MM配置物品 主手握着原版钻石剑
|
死亡信息(KillMessages)
- 允许你自定义生物杀死玩家时的显示信息。通常当玩家被杀死时只会显示"玩家被僵尸杀死"或"玩家被燃烧至死"之类的信息。给予自定义死亡信息让死亡的意义...到达一个新的高度
- 写法比较简单。还可以设置从已设好的语句中随机显示一个。
死亡信息配置栗子
|
鲲鲲:
Type: SKELETON
Display: '鲲鲲'
Health: 100
KillMessages:
- '<target.name> 你死了,baaaaaaka'
- '<target.name><&sq>Baka!'
[[MythicMobs/Skills|Skills]]:
- ...
- 就是这么简单!任何被鲲鲲杀掉的玩家,服务器会发送设置好的2个语句中的随机一个。同时也可以于语句中使用变量,比如例子中所使用的<target.name>就是生物目标对象的名字,也就是死亡的玩家名字
- 更多的修改可在config.yml下修改KillMessagePrefix。此项修改为所有生物的杀害信息(然而修改这里不适用变量)
小技巧
鲲鲲:
Type: zombie
Display: '鲲鲲'
KillMessages:
- ''
|
等级调整值(LevelModifiers)
- 这里讲的是独立等级调整值,整体等级调整值请见配置文件一栏(点蓝字跳转)
- 在4.11+,整体等级调整值的优先度高于独立等级调整值(优先度=优先计算)
- 等级提升意味着实力提升,从而掉落更多物品
- 或者,更通过修改设置可以使其根据自身等级掉落完全不同的物品,使用不同的技能,又或者生成于不同的地方(使用定点/随机刷怪)
- 生物的等级可被世界范围(见下),随机生成,或技能:SetLevel影响
- 此页目前只概括基本的用法,更多教程或例子或在以后添加
- 在MM4.9+,等级可以为小数
- 所填写数值实际上是绝对值,调整值填写负数仍然是正数
等级调整值配置栗子
|
鲲鲲:
MobType: zombie
Health: 100
Damage: 10
Display: '&5鲲鲲 等级: - <mob.level>'
Options:
MovementSpeed: 0.3
Drops:
- GOLD_NUGGET 1 1
DropsPerLevel:
- GOLD_NUGGET 1 0.5
LevelModifiers:
Health: 5
Damage: 0.5
- 下面可改的数据会根据当前级别增加到原来的基础之上
- 若是生物配置下没有设定其基本的几项属性可能会不能正常使用
|
属性列表
|
项 |
中文
|
Health: 数值,支持小数 |
血量
|
Damage: 数值,支持小数 |
近战伤害
|
KnockbackResistance: 数值,支持小数 |
击退抗性
|
Power: 数值,支持小数 |
威力用于几个适用技能的伤害计算单位
|
Armor: 数值,支持小数 |
防御
|
MovementSpeed: 数值,支持小数 |
移动速度
|
AttackSpeed: 数值,支持小数 |
攻击速度
|
|
世界范围(World Scaling)
- 随机生成的MM生物的等级可以被插件或config.yml下定义的世界的范围所配予。
设置办法为打开config.yml,如下
<spoiler>
Scaling:
Default:
Enabled: false
PerBlocksFromSpawn: 250
world2:
Enabled: false
PerBlocksFromSpawn: 250
world2_nether:
Enabled: false
PerBlocksFromSpawn: 100
- 首先,设置世界的名字。如果没改动过的话默认地图名字一般为world。然后,Enabled设置为true
- 接下来,设置PerBlocksFromSpawn: [blocks]。根据这个设置的数值,MM生物会根据自己的等级生成于Spawn(游戏出生点?)往外的级别范围。
- 若我们设置为PerBlocksFromSpawn: 250
- 0级的生物会生成于Spawn点范围0~249半径方块范围—白色区域
- 1级—250~499方块—肤色区域
- 2级—500~749方块—黄色区域
- 3级—750~999方块—橙色区域
- 4级—1000~1249方块—红色区域
- 5级—1250~1499方块...
- 此修改只会影响到随机生成的MM配置生物,不会也不能影响到VanillaMobs.yml下生物的生成
</spoiler>
伪装(Disguise)
- 若您的MM版本为4.9.1+(不包含4.9.1),鲲鲲强烈建议您将LibsDisguises更新到最新版本
- 使生物看着像另一种生物,物品,方块或其他实体LibsDisguises升到最新版本,否则若伪装类型写Type,怪物就会失效
- 需要LibsDisguises和ProtocolLib插件
还有某些版本能完美运行,有些却很差强人意...自行体验
实体列表
|
英文 |
中文
|
area_effect_cloud |
烟雾云
|
armor_stand |
盔甲架
|
arrow |
箭
|
baby_chicken |
幼年鸡
|
baby_horse |
幼年马
|
baby_mooshroom |
幼年蘑菇牛
|
baby_pig |
幼年猪
|
baby_sheep |
幼年羊
|
babyzombievillager |
小僵尸村民
|
bat |
蝙蝠
|
bee |
蜜蜂(MC1.15+)
|
blaze |
烈焰人
|
block |
方块。见下
|
boat |
船
|
cat |
猫
|
cave_spider |
洞穴蜘蛛
|
chicken |
鸡
|
cod |
鳕鱼
|
cow |
牛
|
creeper |
爬行者
|
dlophin |
海豚
|
donkey |
驴子
|
drowed |
溺尸
|
dragon_fireball |
末影龙弹
|
dropped_item |
掉落物。见下
|
egg |
蛋
|
elder_guardian |
远古守卫者
|
ender_crystal |
末影水晶
|
ender_dragon |
末影龙
|
ender_pearl |
末影珍珠
|
ender_signal |
末影之眼丢出时的粒子效果
|
enderman |
末影人
|
endermite |
末影螨
|
evoker |
唤魔者
|
evoker_fangs |
尖牙
|
experience_orb |
经验球
|
falling_block |
掉落的方块
|
fireball |
火焰弹
|
firework |
烟花火箭
|
fishing_hook |
鱼钩
|
fox |
狐狸
|
ghast |
恶魂
|
giant |
巨人
|
guardian |
守卫者
|
hoglin |
疣猪
|
horse |
马
|
husk |
尸壳
|
illusioner |
幻术师
|
iron_golem |
铁傀儡
|
item_frame |
物品展示框
|
leash_hitch |
绑出去的拴绳
|
libraryaddict |
持书发光穿着一套金装备的玩家
|
llama |
羊驼
|
llama_spit |
羊驼口水
|
magma_cube |
岩浆怪
|
minecart |
矿车
|
minecart_chest |
箱子矿车
|
minecart_command |
命令方块矿车
|
minecart_furnace |
熔炉矿车
|
minecart_hopper |
漏斗矿车
|
minecart_mob_spawner |
刷怪笼矿车
|
minecart_tnt |
TNT矿车
|
mob_spawner |
刷怪笼
|
mule |
骡
|
mushroom_cow |
蘑菇牛
|
ocelot |
豹猫
|
painting |
挂画
|
panda |
熊猫
|
parrot |
鹦鹉
|
phantom |
幻翼
|
pig |
猪
|
piglin |
猪灵
|
pig_zombie |
猪灵蛮兵
|
pig_zombie |
僵尸猪人
|
pillager |
掠夺者
|
player |
玩家。见下
|
polar_bear |
北极熊
|
primed_tnt |
点燃的TNT
|
pufferfish |
河豚
|
ravgager |
劫掠兽
|
salmon |
鲑鱼
|
sheep |
羊
|
shulker |
潜影贝
|
shulker_bullet |
潜影贝导弹
|
silverfish |
蠹虫
|
skeleton |
骷髅
|
skeleton_horse |
骷髅马
|
slime |
史莱姆
|
small_fireball |
小型火焰弹
|
snowball |
雪球
|
snowman |
雪傀儡
|
spectral_arrow |
荧光箭
|
spider |
蜘蛛
|
splash_potion |
投掷型药水
|
squid |
鱿鱼
|
stray |
流浪者
|
strider |
炽足兽
|
thrown_exp_bottle |
经验瓶
|
tipped_arrow |
药水箭
|
trader_llama |
行商羊驼
|
trident |
投掷出的三叉戟
|
tropical_fish |
热带鱼
|
turtle |
海龟
|
vex |
恼鬼
|
villager |
村民
|
vindicator |
卫道士
|
wandering_trader |
流浪商人
|
witch |
女巫
|
wither |
凋灵
|
wither_skeleton |
凋灵骷髅
|
wither_skull |
凋灵之首
|
wolf |
狼
|
zoglin |
僵尸疣猪
|
zombie |
僵尸
|
zombie_horse |
僵尸马
|
zombievillager |
僵尸村民
|
伪装可修改项
|
项 |
描述
|
Angry: true |
是否愤怒(作用于狼)
|
Burning: true |
被点燃特效
|
Blocking: true |
被方块窒息效果
|
Invisible: true |
隐身
|
ShowName: true |
显示一般不会显示的名字,如掉落物或方块的名字
|
Sneaking: true |
按下shift的潜行动作
|
Sprinting: true |
冲刺动作
|
ModifyBoundingBox: false |
保留/使用原有的碰撞箱大小
|
Name: 名字 |
伪装后显示的名字
|
Glowing: true |
发光药水效果
|
Gliding |
滑行动作
|
栗子
|
鲲鲲:
Type: wither_skeleton
Display: '鲲鲲'
CustomKillMessages:
- '<target.name>你个笨蛋! (to death)'
Health: 128
Disguise:
Type: player
Skin: 'Sharrk_kunjiang'
Player: 鲲鲲大笨蛋
Burning: true
Blocking: true
Invisible: false
ShowName: false
Sneaking: true
Sprinting: true
ModifyBoundingBox: false
|
物品/方块伪装
|
鲲鲲铁块:
Type: Skeleton
Disguise:
Type: BLOCK
Block: IRON_BLOCK
BlockData: 0
ShowName: true
鲲鲲铁剑:
Type: Skeleton
Disguise:
Type: ITEM
Item: IRON_SWORD
ItemData: 0
鲨鲨:
Type: IRON_GOLEM
Disguise:
Type: Player
Player: 鲲鲲
Skin: Sharrk_kunjiang
|
关于实体主人(Owners)
- 不论施法者是啥实体,当它为其它实体主人时,其它实体无法对其造成伤害
- 这就包括了Summon所生成の实体,默认生成出来の实体会认定施法者为主人
- Summon不写sio=false,就好比玩家生成僵尸,僵尸只会贴着玩家,无法造成伤害
- 主人无法继承,如玩家生成了铁傀儡且为铁傀儡的主人,铁傀儡技能配置为出生后生成僵尸,则僵尸会对玩家造成伤害,不会对铁傀儡造成伤害