• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

MythicMobs

来自Minecraft插件百科
白学家OvO留言 | 贡献2017年3月1日 (三) 04:59的版本
跳转到导航 跳转到搜索
已检索到其他语言的内容,请协助搬运外文内容至本页面,并翻译为本地化的中文。

点击此处开始搬运。(搬运完毕后请移除本模板并添加“待翻译”模板)


MythicMobs
外文名MythicMobs
插件类型Spigot / CraftBukkit
最新版本v2.6.0
兼容服务端1.6.2-1.11
前置插件
源地址http://mythicmobs.net/manual/doku.php

概览

MythicMobs(MM)插件可以充分修改服务器内原版生物的各项属性。通过修改原版生物,从最简单的血量/伤害的提升,到修改生物的目标习性,乃至赋予生物一个强大技能。
制作出独特的生物,BOSS,和其他有趣的生物~ 在RPG服务器内制作出具有挑战性的BOSS碾压玩家不在是梦~

此插件允许你给予生物:

  • 技能——赋予自定义的技能。(发动条件,冷却时间,目标)
  • 属性——修改属性。(血量,伤害量,移动速度,攻击范围)
  • 特效——使用音效,粒子效果和其他特效。
  • 装备——自定义属性的装备和掉落表。
  • 伤害调整——调整伤害对生物的影响。(免疫溺水,受到箭的伤害减半,烧伤恢复血量...)
  • 生成控制——定点,定时,特殊条件,自定义属性...
  • 等级制度——根据等级提升生物的属性和能力值。
  • 威胁度——更好的攻击目标选择。
  • 自定义AI——自定义生物适当的行动目标和首要/次要攻击目标。
  • 派别系统——根据所在的派别,结合自定义AI,使生物学会攻击不同的派别,又或者与玩家站在同一站线。
  • 伪装——使生物幻化为任何东西~ 需要LibsDisguises和ProtocolLib插件
  • 插件兼容——兼容各种流行的插件!
  • 更多功能尽情期待~

配置文件(config.yml)

编辑yml格式文件时,可以使用#符号留言或标记。

# 这是一条留言。

如果yml内含有中文,Windows服务端需转码成ANSI,Linux服务端需转码成UTF8以避免文字乱码。
只要保证配置文件的后缀为yml并且此文件为正确可读的yml格式,任何yml配置文件(config.yml除外)都可以被重命名为任意名字。这样就可以更方便地管理自己的配置文件,比如 Tier1_mobs.yml,Tier2_mobs.yml。

config.yml文本
Version: 2.4
General:
  AllowMetrics: true
  CheckForUpdates: true
  CompatibilityMode: false
  DebugLevel: 0
  ErrorLogging: true
  UseVolatileFeatures: true
Clock:
  ClockInterval: 5
  SaveInterval: 5
  SpawnsInterval: 2
  ScannerInterval: 10
  CleanupInterval: 600
Components:
  CustomSpawners: true
  RandomSpawning: true
Mobs:
  EnableAIModifiers: true
  EnableTimerSkills: true
  EnableThreatTables: true
  EnablePlayerFactions: true
  EnableLegacySkills: true
  KillMessagePrefix: ''
  ShowHealth:
    Radius: 25
    Format: <mob.name> - <mob.php> (<mob.hp> / <mob.mhp>)
  Scaling:
    Default:
      Enabled: true
      PerBlocksFromSpawn: 250
    world2:
      Enabled: true
      PerBlocksFromSpawn: 250
    world2_nether:
      Enabled: false
      PerBlocksFromSpawn: 100
  DefaultLevelModifiers:
    Health: 0.1
    Armor: 0
    Damage: 0
    KnockbackResistance: 0
    Power: 0
RandomSpawning:
  GenerateSpawnPoints: false
  MaxMobsPerChunk: 80
  SpawnRadiusPerPlayer: 64
  SpawnRadiusPerPlayerY: 32
  DespawnLazyRandomMobs: true
  MaxGenerationTime: 20
  PointsPerSecond:
    Land: 10
    Air: 0
    Sea: 0
    Lava: 0
    Ground: 0
Compatibility:
  Heroes:
    Enabled: true
    ShowXPMessage: true
    XPMessageFormat: You receive <drops.xp> experience for slaying <mob.name>
  McMMO:
    Enabled: true
    ShowXPMessage: true
    XPMessageFormat: You receive <drops.xp> experience for slaying <mob.name>
  SkillAPI:
    Enabled: true
    ShowXPMessage: true
    XPMessageFormat: You receive <drops.xp> experience for slaying <mob.name>
  Vault:
    Enabled: true
    ShowMoneyMessage: true
    MoneyMessageFormat: You receive <drops.money> currency for slaying <mob.name>

<spoiler>

基本项—General

参数 描述
AllowMetrics [true/false] 是否发送度量数据给开发者
CheckForUpdates [true/false] 是否自动检测插件最新版本
CompatibilityMode [true/false] 是否开启插件兼容模式
若和其他插件有冲突的话启用此模式或许能解决插件冲突问题
DebugLevel [number] 调试等级,等级越高显示的信息就越多
启用的话会关闭妨碍调试的功能,如随机生成,生物生成,和其他随机的功能
(范围:0 ~ 4)
0:不检测
1:最低级
在生成点显示火焰粒子。(很实用~)
插件启动或重载时记录所有生成点
2:中等级
记录技能的发动,生物的死亡,掉落表,等。
插件启动或重载时记录所有物品,技能,和掉落表。
记录异常技能助于解决问题。
最高级别的有用Debug等级
3:重量级
4:过量信息
ErrorLogging [true/false] 是否保存插件报错日志
保存路径:\MythicMobs\Error Logs\
UseVolatileFeatures [true/false] 是否使用易变特性
如果使用的是不支持的Bukkit或奇怪的Spigot版本,可尝试禁用此项

时钟—Clock

参数 描述
ClockInterval [number] 设置技能所允许的最低发动间隔,修改此项后必须重启插件,建议数值以5递增
(只适用于“~onTimer:xx”。单位:刻)
SaveInterval [number] 保存插件数据的时间间隔(单位:分钟)
SpawnsInterval [number] 生成间隔(单位:秒)
ScannerInterval [number] 检测区块和清除非加载区块生物的间隔(单位:秒)
CleanupInterval [number] 清除间隔(单位:秒)

分支—Components

参数 描述
CustomSpawners [true/false] 是否启用此插件怪物的生成
RandomSpawning [true/false] 是否启用此插件怪物的随机生成

生物—Mobs

参数 描述
EnableAIModifiers [true/false] 是否启用自定义AI
EnableTimerSkills [true/false] 是否启用计时技能
EnableThreatTables [true/false] 是否启用威胁度
EnablePlayerFactions [true/false] 是否启用player为可用派别
EnableLegacySkills [true/false] 是否识别旧版MythicMobs(2.0版本之前)插件的技能格式
KillMessagePrefix '[text]' 设置MM生物杀死玩家时显示的信息前缀
ShowHealth
Radius
Format

[number]
'[text]'
血量显示项
发送生物血量信息的半径范围
血量信息的格式,可使用变量
DefaultLevelModifiers 默认每提升1级的各项上升数值
RandomSpawning
GenerateSpawnPoints
MaxMobsPerChunk
SpawnRadiusPerPlayer
SpawnRadiusPerPlayerY
DespawnLazyRandomMobs
MaxGenerationTime
PointsPerSecond

[true/false]
[number]
[number]
[number]
[true/false]
[number]
[number]
随机生成项
是否生成生成点
单个区块所允许生物的最大值
以玩家为中心所生成生物的半径范围(水平方向。单位:方块)
以玩家为中心所生成生物的半径范围(Y轴方向。单位:方块)
是否清除非加载区块的生物
最大生成时间
每秒点数(陆地/天空/海/岩浆/地面)

兼容项—Compatibility

参数 描述
Heroes
Enabled
ShowXPMessage
XPMessageFormat

[true/false]
[true/false]
'[text]'

是否启用
是否显示经验信息
显示经验信息的格式,可使用变量
McMMO
Enabled
ShowXPMessage
XPMessageFormat

[true/false]
[true/false]
'[text]'

是否启用
是否显示经验信息
显示经验信息的格式,可使用变量
SkillAPI
Enabled
ShowXPMessage
XPMessageFormat

[true/false]
[true/false]
'[text]'

是否启用
是否显示经验信息
显示经验信息的格式,可使用变量
Vault
Enabled
ShowMoneyMessage
MoneyMessageFormat

[true/false]
[true/false]
'[text]'

是否启用
是否显示金钱信息。
显示金钱信息的格式,可使用变量

</spoiler>

命令&权限

输入/mythicmobs会显示所有可用的命令。每个命令也会提示你如何使用。
名字name和显示名字DisplayName并不是同一个东西。
[ ]内的参数为必填,< >内的参数为选填。 <spoiler>

基本命令

命令 参数 描述
/mythicmobs
/mm
显示所有可用命令
/mm debug
/mm d
[level] 调试等级
/mm debugmode [true/false] 是否启用调试模式
/mm reload
/mm r
插件重载
/mm save 强行保存

物品命令

命令 参数 描述
/mm items
/mm i
显示所有物品相关的命令
/mm items get [物品] <数量> 给予自己一个插件配置文件下的物品
/mm items give [玩家] [物品] <数量> 给予特定玩家一个插件配置文件下的物品
/mm items list 列出成功读取的物品

生物命令

命令 参数 描述
/mm mobs
/mm m
显示所有生物相关的命令
/mm mobs info [生物] 显示特定生物的详细信息
/mm mobs list 列出成功读取的生物
/mm mobs listactive 列出目前已生成的生物及其数量
/mm mobs kill [x] 清除名字内带有x的所有生物
/mm mobs killall 清除所有生物
/mm mobs spawn [生物]:<等级> <数量> <世界,x,y,z> 生成特定的生物
/mm mobs spawnsilent [生物]:<等级> <数量> <世界,x,y,z> 生成特定的生物,不记录到控

制台

/mm mobs stats 显示多少已加载的生物(数量)

刷怪蛋命令

命令 参数 描述
/mm egg
/mm e
显示所有刷怪蛋相关的命令
/mm egg get [生物] <数量> 给予自己特定生物的刷怪蛋
/mm egg give [玩家] [生物] <数量> 给予特定玩家特定生物的刷怪蛋

生成点命令

大部分情况下,生成点配置识别以下通配符。

  • ?为单个字母的通配符
    使用"/mm s set ?at leashrange 32"会使生成的怪物名字为Cat,Rat,Fat等
  • *为任意数量的通配符
    使用"/mm s set T* leashrange 32"会使所有名字T开头的生成点的leashrange设置为32
  • 命令中的生成点名字输入*的话,代表所有生成点的名字


命令 参数 描述
/mm spawners
/mm s
显示所有生成点相关命令
/mm s create [生成点] [生物] 在玩家位置生成新的生成点
生物为配置文件下的生物名字,非显示名字
例子:/mm s create Ruins_Skeleton1 DecayingSkeleton
/mm s set [生成点] [设置] [数值] 修改生成点的设置
暂无详情
/mm s addcondition [生成点] [条件] [数值] 添加生成点条件
/mm s removecondition [生成点] [条件] 删除生成点条件
例子:/mm s removecondition Ruins_Skeleton1 outside
/mm s info [生成点] 显示生成点的详细信息
/mm s listnear <范围> 列出范围内所有生成点(单位:方块半径)
/mm s resettimers [生成点] 重置生成点的冷却时间
/mm s spawn [生物] 创建一个特定生物的生成点
/mm s cut [关键字] 剪切生成点
例子:/mm s cut g:BoneCastle
剪切所有BoneCastle群下的生成点
例子:/mm s cut r:200
剪切半径200格范围内的所有生成点
例子:/mm s cut Elementals_*
剪切所有名字以Elementals_的生成点
/mm s cut *
剪切所有生成点,慎用
/mm s paste 粘贴生成点到相对坐标下
可以多次粘贴,不过每次都会替换掉前一次的粘贴(不重复)
/mm s undo 撤回上一次剪切/粘贴动作
只在当前剪切动作有效。若有新的剪切动作以新的进行撤回

实体测试命令

/mm u testeffect [技能语法]

使用一个特效。例子:

/mm u testeffect effect:particles{particle=witchMagic;amount=20;speed=0.7}

/mm u testskill [目标] [技能]
  • 目前无效
  • 目标为目标选择器,target,playersinradius...
  • 使用一个技能。例子:
/mm u testskill target lightning

信号命令

/mm signal <UUID> <信号>
  • 用于发送给生物一个特定的信号,从而触发其技能(~onSignal[signal])
  • 只在输入生物的UUID时有效,输入生物名字无效
  • 通常配合/tellraw使用
  • 此命令对所有玩家开放使用。然而因为无法知道生物的UUID和信号的名字,普通玩家并不可以滥用此命令

权限

基本权限

  • mythicmobs.admin
    给予使用所有此插件命令的权限。
  • mythicmobs.signal
    给予使用"/mm signal <mob.uuid> <signal>"此命令的权限。

</spoiler>

生物(Mobs)

大部分为选填项,也就是说没必要把每个项都列入配置内。
以下为一个实体生物可修改的项示例和例子。
<spoiler>

internal_mobname:
  Type:
  Display:
  Health:
  Damage:
  Armor:
  BossBar:
  Faction:
  Mount:
  Options:
  Modules:
  AIGoalSelectors:
  AITargetSelectors:
  Drops:
  DropsPerLevel:
  DamageModifiers:
  Equipment:
  KillMessages:
  LevelModifiers:
  Disguise:
  Skills:
super_zombie:
  Type: zombie
  Display: '&lSuper Zombie&r'
  Health: 200
  Damage: 14
  Armor: 10
  Faction: superb_zombies
  Mount: super_zombie_undead_horse
  Options:
    PreventOtherDrops: true
    PreventItemPickup: true
    Despawn: false
    KnockbackResistance: 0.25
    MovementSpeed: 0.25
  Modules:
    ThreatTable: false
    ImmunityTable: true
  AIGoalSelectors:
  - 0 clear
  - 1 meleeattack
  - 2 randomstroll
  AITargetSelectors:
  - 0 clear
  - 1 attacker
  - 2 players
  Drops:
  - diamond 1-3 1
  - exp 50 1
  - super_zombie_sword 1 1
  DropsPerLevel:
  - rotten_flesh 1-3 0.5
  - exp 10 1
  DamageModifiers:
  - ENTITY_ATTACK 0
  - PROJECTILE 1.25
  - MAGIC 1.75
  Equipment:
  - super_zombie_helmet:4
  - super_zombie_sword:0
  KillMessages:
  - '<target.name> was superbly slain by a <mob.name>'
  LevelModifiers:
  - Armor 0.05
  - MovementSpeed: 0.01
  - KnockbackResistance: 0.05
  - Health: 2
  - Damage: 1
  Disguise:
    Type: player
    Skin: '&lSuper Zombie&r'
    Player: jaylawl
  Skills:
  - throw{v=5;vy=5} @target ~onAttack 0.5
  - effect:sound{s=mob.zombie.hurt;v=1;p=0} @self ~onDamaged
  - effect:particles{p=cloud;a=50;s=0.05} @self ~onDeath

</spoiler>

生物配置名字(internal_mobname)

  • 此名字为插件读取生物时使用的名字
  • 区分大小写,识别字母和数字(还有下划线?)
super_zombie:
SuperZombie:
superzombie:

生物种类(Type)

  • 确定生物的类别
  • 不区分大小写
  • Bukkit下注册的种类也可以使用,但不保证其可行性和兼容性有好多没列出来 使用实体ID应该也是可以的
  • 可识别的种类列表

<spoiler>

英文名字 中文名字
ARMOR_STAND 盔甲架
BABY_PIG_ZOMBIE 小僵尸猪人
BABY_PIG_ZOMBIE_VILLAGER 小僵尸猪村民
BABY_ZOMBIE 小僵尸
BABY_ZOMBIE_VILLAGER 小僵尸村民
BAT 蝙蝠
BLAZE 烈焰人
BOAT
CAVE_SPIDER 洞穴蜘蛛
CHICKEN
COW
CREEPER 爬行者
ELDER_GUARDIAN 远古守卫者
ENDER_DRAGON 末影龙
ENDERMAN 末影人
ENDERMITE 末影螨
GHAST 恶魂
GIANT 巨人
GUARDIAN 守卫者
HORSE
HUSK 尸壳
IRON_GOLEM 铁傀儡
MAGMA_CUBE 岩浆怪
MUSHROOM_COW 蘑菇牛
OCELOT 豹猫
PIG
PIG_ZOMBIE 僵尸猪人
PIG_ZOMBIE_VILLAGER 僵尸猪村民
PRIMED_TNT 点燃的TNT
POLAR_BEAR 北极熊
RABBIT 兔子
SHEEP
SILVERFISH 蠹虫
SKELETON 骷髅
SKELETON_HORSE 骷髅马(MC 1.11+)
SHULKER 潜影贝
SLIME 史莱姆
SNOWMAN 雪傀儡
SPIDER 蜘蛛
STRAY 流髑
SQUID 鱿鱼
VILLAGER 村民
WITCH 女巫
WITHER 凋灵
WITHER_SKELETON 凋灵骷髅
WOLF
ZOMBIE 僵尸
ZOMBIE_HORSE 僵尸马(MC 1.11+)
ZOMBIE_VILLAGER 僵尸村民

</spoiler>

Type: zombie
Type: SKELETON

名字显示(Display)

  • 生物头上所显示的名字
  • 支持颜色代码和变量
  • 必须填写在撇号'内'
  • 若想名字内显示'撇号,可以使用'的变量代码<&sq>
Display: 'Super Zombie'
Display: '&eSuper Zombie'
Display: '&cSuper Zombie&r - <mob.level>'

血量(Health)

  • 设置生物的最大血量
  • 此插件没有最大血量限制。
    然而Spigot有2048的最大限制,可在spigot.yml内修改
Health: 200

伤害(Damage)

  • 设置生物的基础近战攻击力
  • 1点伤害=0.5颗心
  • 不会涉及到近战以外的伤害,如弓箭、爆炸、恶魂火焰弹、药水等所造成的伤害。
Damage: 10

防御(Armor)

  • 减低生物所受到的伤害量
  • 1点伤害=0.5颗心
Armor: 7

Boss血条(BossBar)

  • 插件版本2.4或以上
    Minecraft 1.9或以上
  • 像末影龙那样显示生物的血条在屏幕上方
internal_mobname:
  Type: <mobtype>
  BossBar:
    Enabled: [true/false]
    Title: '[name]'
    Range: [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暂时不可用
Test:
  Type: creeper
  Display: '&cTest'
  Health: 20
  BossBar:
    Enabled: true
    Title: 'Test'
    Range: 20
    Color: RED
    Style: SOLID

派别(Faction)

  • 设置生物所属的派别,主要用于编辑AI或技能的攻击目标
  • 区分大小写,识别字母和数字(还有下划线?)
Faction: SuperZombies
Faction: super_zombies

骑乘(Mount)

  • 设置生物的骑乘,骑乘必须为MM下的配置生物
  • 设置完后,当生物生成时便会自行召唤并坐在骑乘上
Mount: super_zombie_horse

选项(Options)

  • 修改或给予生物一系列的可修改项,如是否消失、击退抗性、跟踪范围、移动速度等(有很多哦...)
VeryFastSkeleton:
  Type: skeleton
  Display: 'Very Fast Skeleton'
  Options:
    MovementSpeed: 0.3
    NoDamageTicks: 50

选项详解

<spoiler>

通用选项(Universal options)
参数 备注
AlwaysShowName [true/false]
  • 是否就算没有望过去或被阻挡时也一直显示名字
  • 等同于NBT标签 CustomNameVisible
  • MC 1.8或之前—尽限于盔甲架
    MC 1.9或之后—适用于任何实体
  • 默认设置为false
AttackSpeed [number]
  • 设置生物的基本攻击速度
  • 插件版本2.4或以上
  • 默认设置为原版速度
Collidable [true/false]
  • 是否开启碰装箱
  • 默认设置为true
  • 注意在MC内要设置碰装和碰装物为false才能保证不会发生碰装
Despawn [true/false]
  • 附近没有玩家时生物是否自动消失
  • 若服务器内配置大量生物建议启用此项
  • 等同于NBT标签 PersistenceRequired
  • 默认设置为true
FollowRange [value]
  • 生物敌对状态的最大范围
  • 同时是所能检测到玩家存在的最大范围
  • 默认设置为原版范围
Glowing [true/false]
  • 生物是否发光
  • 插件版本2.4或以上
  • 默认设置为false
Invincible [true/false]
  • 使生物免役所有伤害
  • 不能被命令技能修改
  • 默认设置为false
KnockbackResistance [number]
  • 设置生物的抗击退能力数值
    就算100%抗击退,还是会受击退附魔影响
  • 数值范围0 ~ 1
  • 0.1=10% 0.5=50% 1=100%
  • 默认设置为0
MaxCombatDistance [number]
  • 设置生物不会被玩家伤害到的方块半径范围
MovementSpeed [number]
  • 设置生物的移动速度
  • 大部分生物被设置为0.2
  • 数值高于1会使其过快而难以攻击到生物
NoAI [true/false]
  • 生物是否拥有AI
    若设置为true的话会无视AIGoalSelectors下的设置
  • 插件版本2.2.1或以上
  • 和AIGoalSelectors相反,此项试用于末影龙和凋灵
    (意义不明)
NoDamageTicks [number]
  • 设置生物被受伤后会暂时不接受伤害多少刻
  • 若生物开启了伤害硬直,此项的无敌时间会以各个玩家分开计算,非原先的全局计算
  • 默认设置为10
NoGravity [true/false]
  • 生物是否没有重力
  • 插件版本2.5或以上 MC 1.10或以上
  • 默认设置为false
  • 此项设为true时,不能使用velocity技能
Persistent [true/false]
  • 防止生物被mm m kilall命令清除
  • 生物仍然会自然消失若Despawn设为true
  • 生物依然能被mm m kill和minecraft:kill命令清除
  • 默认设置为false
PreventItemPickup [true/false]
  • 防止生物拾取掉落物
  • 默认设置为true
PreventLeashing [true/false]
  • 防止生物被拴绳捆绑
  • 默认设置为true
PreventMobKillDrops [true/false]
  • 防止生物间互杀时掉落物品
  • 默认设置为false
  • 2.3或之前存在"若玩家被此项设为true的生物所杀害,玩家的物品也不会掉落"的问题
    不要与gamerule keepInventory false一同使用
    于2.5版修复
PreventOtherDrops [true/false]
  • 防止生物掉落其原本的掉落物
  • 默认设置为false
PreventRandomEquipment [true/false]
  • 防止生物生成时随机佩带装备
  • 默认设置为false
PreventRenaming [true/false]
  • 防止被命名牌重命名
  • 默认设置为true
RepeatAllSkills [true/false]
  • 当血量恢复时,"带有血量%为发动条件的技能"能否被再次使用
  • 默认设置为false
ShowHealth [true/false]
  • 发送生物的血量信息到聊天框
    根据config.yml的show*health*radius下设置的范围
    和show*health*format下设置的显示格式
  • 默认设置为false
Silent [true/false]
  • 生物是否使用原版音效
    (简单的说应该和NBT标签Silent一样)
  • 默认设置为false


特定设置

盔甲架(Armor Stands)
参数 备注
HasArms [true/false] 盔甲架是否有手
2.5前失效
  • 默认设置为false
HasGravity [true/false] 盔甲架是否受重力影响
  • 默认设置为true
Invisible [true/false] 是否隐形
  • 默认设置为false
ItemBody [MythicItem Name] 胸部所装备的MM配置物品
ItemFeet [MythicItem Name] 脚部所装备的MM配置物品
ItemHand [MythicItem Name] 手上所装备的MM配置物品
ItemHead [MythicItem Name] 头部所装备的MM配置物品
ItemLegs [MythicItem Name] 腿部所装备的MM配置物品
Marker [true/false] 盔甲架是否不能被破坏等活动
Small [true/false] 是否为小型盔甲架
  • 默认设置为false
Pose
Head
Body
LeftArm
RightArm
LeftLeg
RightLeg
[0,0,0] 设置各部位的旋转角度
  • 默认设置为0,0,0
  • 角度识别范围,如下
Mob:
  Type: armor_stand
  Pose:
    Head: 0,50,0
    Body: 0,10,10
    LeftArm: 0 to 360,0,0
    RightArm: 0 to 90,0,0


鸡(Chicken)
参数 备注
Jockey [true/false] 是否为鸡骑士
  • 无实际效果,不过总比没有好~
  • 默认设置为false


爬行者(Creepers)
参数 备注
ExplosionRadius [number] 爆炸范围
FuseTicks [number] 引爆时间(刻)
SuperCharged [true/false] 是否为充能爬行者
  • 默认设置为false
PreventSuicide [true/false] 爆炸后是否不死亡
  • 默认设置为false


末影人(Endermen)
参数 备注
PreventTeleport [true/false] 是否阻止其传送
  • 可能适用于其他生物
    也可能阻止teleport技能
  • 默认设置为false


掉落方块(Falling Blocks)
参数 备注
Block [方块种类] 设定方块的种类
  • 默认设置为STONE
BlockData [Number] 方块的附加值
  • 默认设置为0


马(Horses)
参数 备注
HorseArmor [armor_type] 马铠的种类
  • IRON,GOLD或DIAMOND
HorseCarryingChest [true/false] 是否背载箱子
  • 用于确定驴是否背有箱子
  • 默认设置为false
HorseColor [horse_color] 马的颜色
  • BLACK,BROWN,CHESTNUT,CREAMY,DARK_BROWN,GRAY或WHITE
HorseSaddled [true/false] 是否装备上鞍
  • 默认设置为false
HorseStyle [horse_style] 马的皮肤纹路
  • BLACK_DOTS,WHITE,WHITE_DOTS,WHITEFIELD
HorseTamed [true/false] 是否被驯化
  • 默认设置为false
HorseType [type] 马的种类
  • UNDEAD_HORSE,SKELETON_HORSE,MULE,DONKEY或HORSE
    于MC 1.11移除,改写于Type下
  • 默认设置为HORSE


豹猫(Ocelots)
参数 备注
Ocelot [type] 豹猫的种类
  • BLACK_CAT,RED_CAT,SIAMESE_CAT或WILD_OCELOT
  • 默认设置为WILD_OCELOT


猪(Pigs)
参数 备注
Saddled [true/false] 是否装备上鞍
  • 默认设置为false


兔子(Rabbits)
参数 备注
RabbitType [rabbit_type] 兔子的种类
  • BLACK,BLACK_AND_WHITE,BROWN,GOLD,SALT_AND_PEPPER,THE_KILLER_BUNNY或WHITE
Baby [true/false] 是否为小兔子
  • 默认设置为false
  • 不明存在意义???


蠹虫(Silverfish)
参数 备注
PreventBlockInfection [true/false] 阻止其影响方块
  • 默认设置为false


雪傀儡(Snowmen)
参数 备注
PreventSnowFormation [true/false] 阻止其生成雪片
  • 默认设置为false


TNT
参数 备注
FuseTicks [number] 引爆时间(刻)
  • 默认设置为-1
ExplosionYield [number] 爆炸的强度
  • 默认设置为-1(无)
Incendiary [true/false] 爆炸是否点燃物品
  • 默认设置为false


村民(Villagers)
参数 备注
VillagerType [type] 村民的职业
  • BLACKSMITH,BUTCHER,FARMER,LIBRARIAN或PRIEST
  • 默认随机职业


僵尸类(Zombies)
参数 备注
ReinforcementsChance [number] 增援几率
  • 受伤时附近生成僵尸的几率(0~1)
  • 默认设置为0


僵尸村民(Zombie Villagers)
参数 备注
Profession [type] 僵尸村民的职业(2.4)
  • 被治疗回村民时的职业


特定类设置

可繁殖类(Breedable mobs)
参数 备注
Age [number] 确定生物的岁数
  • -1为幼仔,1为成年
  • 默认设置为1
  • 用于羊,猪,牛等身上
  • 使用过大的负数值调整生物的模型(不支持)
AgeLock [true/false] 是否锁定岁数
  • 默认设置为false
  • 使用Age项的话要求设置此项


可染色类(Colorable Mobs)
用于羊和狼
参数 备注
Color [number] 修改羊毛或项圈的颜色
  • 数值0 ~ 15
  • 2.0.0插件参数为颜色的名字


中立类(Neutral mobs)用于狼和猪人
参数 备注
Angry [true/false] 生成时是否被激怒
  • 因为Bukkit/Spigot的漏洞,狼生成时不会被激怒
  • 若想生成"被激怒"的狼,可使用AIGoalSelectors和AITargetSelectors


史莱姆一族(Slimes & Magma Cubes)
参数 备注
PreventSlimeSplit [true/false] 是否阻止其进行分裂
Size [number] 史莱姆的大小
  • 一般为1 ~ 8之间
  • 可以设置得很大,然而会导致服务器较卡


可被驯服类(Tameable Mobs)
参数 备注
Tameable [true/false] 是否可被驯服
  • 默认设置为false

</spoiler>

模块(Modules)

  • 设置启用/禁用威胁度(Threat Tables)和伤害硬直(Immunity Tables)模块

威胁度(Threat Tables)

威胁度用于控制生物的攻击目标。一般情况下原版的生物只会单纯地以最后一个伤害源为攻击目标。
若是启用威胁度,生物便会记录各玩家对他所造成的伤害,并因此选择累计造成伤害最高的玩家为攻击目标。从而避免生物两头跑被调戏的尴尬局面。
威胁度的几个内置功能让生物的目标选择能力看起来更聪明,并遵从一般MMORPG游戏下的规则。玩家通过造成伤害提升对生物的威胁度,若是远离BOSS便会降低威胁度。
一段时间内超过生物的最大攻击范围(MaxCombatRange),离开当前世界,或退出游戏的话也会降低其威胁度。
生物只会在新的威胁度超过当前攻击目标威胁度的110%时才会改变攻击目标。
注意-启用威胁度的生物会无视AITargetSelectors下的设置。并且,启用的生物会尝试攻击任何对他造成伤害的实体。
启用办法:ThreatTable后面设为true

BigScaryBoss:
  Type: zombie
  Display: '&6Zombie'
  Health: 20000
  Modules:
    ThreatTable: true

威胁度的计算是全自动进行的。若想特意修改生物对某目标的威胁度,可通过Threat技能进行修改。
威胁度还拥有API,包括"嘲讽"和改变威胁的能力,若另一个插件作者有意修改技能或能力与威胁度的关系。

伤害硬直(Immunity Tables)

伤害硬直允许生物在受到伤害时记录各玩家的伤害免疫时间(NoDamageTicks),换句话说生物只会在每(默认)半秒的时间内受到同一个玩家的伤害。没开启伤害硬直的话就是每半秒的时间内受到伤害。其意义就是允许多个玩家同时或短时间内攻击生物时,生物会受到多次伤害计算。
启用办法:ImmunityTable后面设为true

BigHealthBoss:
  Type: pig_zombie
  Display: '&6Hungry Hungry Piggy Zombie'
  Health: 20000
  Modules:
    ImmunityTable: true
  Options:
    NoDamageTicks: 10
  • 可通过修改通用选项下的NoDamageTicks定义伤害硬直的时间
    默认设置为10刻

自定义AI

几个自定义AI教程示例

目标,对象,派别
*自定义AI通常会使用到的两个东西。AI行动目标,确定生物的行动。还有AI对象目标,确定生物所选取的攻击对象或技能对象
  • 派别用于归类生物的所属组群,并用于之后的设置
  • 一般来讲,游戏内所有的生物都有其内置AI使其运作。比如骷髅的AI要求其以玩家为目标,并且使用弓箭攻击玩家。若想使用MM修改骷髅的AI,首先需要做的是清除当前生物的AI,然后进行修改
DecayingSkeleton:
  Mobtype: skeleton
  Display: '&aa decaying skeleton'
  Health: 15
  Damage: 1
  Faction: Undead
  AIGoalSelectors:
  - 0 clear
  - 1 arrowattack
  AITargetSelectors:
  - 0 clear
  - 1 players
  Options:
    FollowRange: 10
    MovementSpeed: 0.2
    PreventOtherDrops: true
  • 以上就是一个骷髅使用弓箭攻击的例子(除去其他多余项目,四处走动什么的)
    • AIGoalSelectors要求骷髅平时使用arrowattack这一动作
    • AITargetSelectors确定这个骷髅使用arrowattack的目标,也就是玩家(players)
    • clear总是排在首位就是用于清除生物原本的AI从而保证你所设置的AI能正确运行
  • 那么若想骷髅攻击其他生物,并且攻击方式由原本的射箭改为近战要怎样做呢?如下:
DecayingSkeleton:
  Mobtype: skeleton
  Display: '&aa decaying skeleton'
  Health: 15
  Damage: 1
  Faction: Undead
  AIGoalSelectors:
  - 0 clear
  - 1 meleeattack
  AITargetSelectors:
  - 0 clear
  - 1 hurtbytarget
  - 2 otherfactionmonsters
  Equipment:
  - COS_WoodSword:0
  Options:
    FollowRange: 10
    MovementSpeed: 0.2
    PreventOtherDrops: true
  • 现在,骷髅的AI就被设置为攻击其他生物,并且优先攻击伤害源。使用近身伤害取代远程攻击
    • AIGoalSelectors下的meleeattack告诉生物使用近战。然后要注意下骷髅必须拿着武器(应该是只要不拿着弓,空手也可以的)才能进行近战,因为拿着弓时是不能近战的。这并不会发生在僵尸身上
    • 现在AITargetSelectors下的players被移除,所以骷髅不会主动攻击玩家,而是会攻击和自己所属派别不同的生物(例子为攻击Undead以外的生物)。还有这个优先度为1的hurtbytarget,如果有其他实体优先攻击骷髅,骷髅就会进行还击。这项建议给每个生物都设置,并且优先度越高越好,以杜绝生物不会还手的情况
  • AITargetSelectorsAIGoalSelectors可到这里查看
示例1:城镇门卫
*接下来我们将设置一个守在城门的守卫用于赶走靠近的怪物。我们的守卫可以使用铁傀儡伪装成村民,不过这样的话铁傀儡原有的AI和其特殊的击飞攻击使其略厉害了点...所以我们现在用MM的AI设置一个适合我们使用的守卫
  • 恩啊,首先我们需要一个勇敢的护卫。使用骷髅伪装成村民,并给其佩上一把剑
SummonedGuard1:
  Mobtype: skeleton
  Display: '&Ea town guard'
  Health: 500
  Damage: 5
  Equipment:
  - COS_StoneSword:0
  Options:
    Disguise: villager
    Despawn: true
    FollowRange: 5
    AlwaysShowName: false
    MovementSpeed: 0.35
    PreventOtherDrops: true
    KnockbackResistance: 1
    PreventMobKillDrops: true
  • 若是我们现在就把这生物放出去,因为AI还没改,会攻击玩家。所以现在我们要把他的态度(AI)做一下调整
SummonedGuard1:
  Mobtype: skeleton
  Display: '&Ea town guard'
  Health: 500
  Damage: 5
  Equipment:
  - COS_StoneSword:0
  Faction: Guard
  AIGoalSelectors:
  - 0 clear
  - 1 opendoors
  - 2 meleeattack
  AITargetSelectors:
  - 0 clear
  - 1 hurtbytarget
  - 2 otherfactionmonsters
  Options:
    Disguise: villager
    Despawn: true
    FollowRange: 5
    AlwaysShowName: false
    MovementSpeed: 0.35
    PreventOtherDrops: true
    KnockbackResistance: 1
    PreventMobKillDrops: true
  • 现在的话我们的守卫就会攻击和自己不是同一派别的怪物,并且攻击伤害到他的生物(同时给予那些"多手"的玩家还击)。并且这个守卫还会有需要的话打开其前面的门
  • 前半问题解决了。那么现在要保证那些在城门附近四处游荡的怪物被守卫伤到时也会还击
  • 下面就是一个已经加上会受伤后进行还击AI的例子
DecayingSkeleton:
  Mobtype: skeleton
  Display: '&aa decaying skeleton'
  Health: 15
  Damage: 1
  Faction: Undead
  AIGoalSelectors:
  - 0 clear
  - 1 meleeattack
  AITargetSelectors:
  - 0 clear
  - 1 hurtbytarget
  - 2 players
  Equipment:
  - COS_RawHead:4
  - COS_WoodSword:0
  Options:
    Despawn: true
    FollowRange: 10
    AlwaysShowName: false
    MovementSpeed: 0.2
    PreventOtherDrops: true
  • 我们的decaying skeleton属于Undead派(不同于守卫的Guard派),所以这个怪物会被守卫当作攻击对象。然后怪物受到伤害时因为有hurtbytarget,我们的怪物便会进行还击
  • 为了守卫能正确辨别出攻击对象,我们尽量使周围生成的怪物与守卫的派别不同(可在原版生成下给比如僵尸加上派别,那么游戏下自然生成的僵尸就全都有派别了)
  • 现在的话我们的设置就算基本完成了
  • 还可以加上一些额外的设置,比如这里我们设置了守卫为比较小的跟踪范围(FollowRange)。这能保证守卫不会为了杀怪而走得太远。并且PreventMobKillDrops能保证守卫所杀的怪物不会掉落物品和经验(防止玩家得逞...)
    其实还有很多 设置Options无敌 用技能使守卫巡逻或归位
示例2:兽人vs哥布林
*设想一下,一个世界里有两个种群,哥布林和兽人,而他们对对方一直以来都不太友善。
  • 通过使用MM的自定义AI使他们除了会攻击玩家外,当遇上对方时便会打起来的样子
  • 以下一个兽人 一个哥布林的配置
OrcCenturion:
  Mobtype: villagezombie
  Display: '&aan orc centurion'
  Health: 50
  Damage: 4
  Faction: Orcs
  AIGoalSelectors:
  - 0 clear
  - 1 opendoors
  - 2 meleeattack
  AITargetSelectors:
  - 0 clear
  - 1 hurtbytarget
  - 2 specificfactionmonsters Goblin
  - 3 players
  Equipment:
  - C_DeathfistSkullcap:4
  - C_DeathfistTunic:3
  - C_DeathfistLeggings:2
  - C_DeathfistBoots:1
  - COS_WoodSword:0
  Options:
    Despawn: true
    FollowRange: 10
    AlwaysShowName: false
    MovementSpeed: 0.25
    PreventOtherDrops: true
    PreventItemPickup: true
    KnockbackResistance: 0.25
    PreventMobKillDrops: true


GoblinBattlemaster:
  Mobtype: zombie
  Display: '&aa goblin battlemaster'
  Health: 80
  Damage: 4
  Faction: Goblin
  AIGoalSelectors:
  - 0 clear
  - 1 opendoors
  - 2 meleeattack
  AITargetSelectors:
  - 0 clear
  - 1 hurtbytarget
  - 2 specificfactionmonsters Orcs
  - 3 players
  Equipment:
  - COS_BronzeHead:4
  - COS_BronzeChest:3
  - COS_BronzeLegs:2
  - COS_BronzeFeet:1
  - COS_WoodAxe:0
  Skills:
  - skill BashI ~onAttack >0 0.25
  Options:
    Despawn: true
    FollowRange: 10
    AlwaysShowName: false
    MovementSpeed: 0.25
    PreventOtherDrops: true
    PreventItemPickup: true
    KnockbackResistance: 0.4    
    PreventMobKillDrops: true
  • 设置里几个比较要注意的
    • 第一,分别设置兽人的派别为Orc,哥布林的派别为Goblin,从而分别他们所属的阵容
    • 第二,设置两边的行动最优到最后分别是clear,opendoors,meleeattack
      近战的一般都可以参考这样来设置
    • 最后,目标上的AI首位设置clear并在后面加上3个攻击目标
  • 先说说hurtbytarget其意义之前说的一样,保证生物懂得还手并且不被玩家欺负
  • 然后是这个specifictargetfaction,设置成这样互相对立会使其各自以对方为攻击对象
  • 最后这个players就是当这个怪物没检测到对家时就会以玩家为攻击目标
  • 最后的最后这个PreventMobKillDrops保证在游荡中被其他生物杀害时不会掉落物品

行动选择器(AIGoalSelectors)

行动选择器,顾名思义规定生物的行动。若生物自身没有此项基本行动就不会对其产生作用。例如,僵尸不会也不能吃草(EatGrass)。
例子:

SuperMob:
  Type: zombie
  Health: 200
  Display: 'Superb Zombie'
  AIGoalSelectors:
  - 0 clear
  - 1 meleeattack
  - 2 randomstroll

这只僵尸除了会攻击玩家,还会在没有攻击目标时随意走动。 <spoiler>

所有生物(All Mobs)
别名 备注
clear reset 清除生物的AI
放置首位保证生物AI的正常运行
breakdoors 使生物懂得破门
eatgrass 使生物偶尔...吃草
float swim 使生物懂浮在水面,不被淹死
lookatplayers 望向附近玩家
opendoors opendoor 使生物懂得打开面前的门并经过后关上
closedoors restrictopendoor 不清楚有什么用 哪位来测试下:P (原话哦...)
randomlookaround lookaround 随处观看


生物(Creatures Only)
别名 备注
avoidarrows 使生物躲闪箭
MM 2.5.0+ 移除
avoidcreepers 使生物躲避爬行者
avoidskeletons 使生物躲避骷髅
avoidzombies 使生物躲避僵尸
fleesun 早上躲在影子下
meleeattack 使生物靠近并近攻目标
movetowardstarget 使生物靠近目标
randomstroll 随处走动
restrictsun 理论上能限制生物走向高亮度的地方
fleeplayers runfromplayers 躲避玩家
fleegolems runfromgolems 躲避铁傀儡
fleevillagers runfromvillages 躲避村民
spiderattack 使蜘蛛攻击目标(看着和meleeattack没什么不同)
*可尝试配合leapattarget使用
leapattarget 使生物跳向目标*貌似需要meleeattack/spiderattack才能正常运作
moveindoors 暂无描述
movethroughvillage 暂无描述
movetowardsrestriction 暂无描述,自己猜吧...
patrol x1,y1,z1;x2,y2,z2;x3,y3,z3;… patrolroute 巡逻,坐标之间走动
MM 2.4添加 只在MC 1.9下正常运作
gotolocation x,y,z goto 走向坐标
MM 2.4添加
gotoowner 走向主人
MM 2.4.1


射手(Ranged Entities Only)
别名 备注
arrowattack 弹射攻击
(使骷髅射箭)
skeletonbowattack bowshoot
bowmaster
MC1.9+骷髅的新扫射AI

</spoiler>

目标选择器(AITargetSelectors)

目标选择器,顾名思义设置生物的目标对象。 例子:

SuperMob:
  Type: zombie
  Health: 200
  Display: 'Superb Zombie'
  AIGoalSelectors:
  - 0 clear
  - 1 meleeattack
  - 2 randomstroll
  AITargetSelectors:
  - 0 clear
  - 1 players
  - 2 golems

所有生物(All Creatures)

  • clear—清除所有AI
  • attacker—以攻击源为目标
  • players—以玩家为目标
  • villagers—以村民为目标
  • golems—以傀儡为目标
派别相关(Faction Support)
  • OtherFaction—以自身以外派别的生物为目标
  • OtherFactionMonsters—以自身以外派别的怪物为目标?
  • OtherFactionVillagers—以自身以外派别的村民为目标
  • SpecificFaction [派别名字]—特指一个派别为目标
  • SpecificFactionMonsters [派别名字]—特指一个派别为目标?
AITargetSelectors:
- 1 SpecificFaction undead

限制生物只以undead派的生物为目标

可驯服类(Tameable Creatures)

  • ownerattacker—以攻击自己主人的对象为目标
  • ownertarget—以自己主人攻击的对象为目标

伤害调整(DamageModifiers)

  • 设置或者说控制生物最终受到的伤害量
  • 比如,免疫近伤,但受到箭的伤害加倍...

下面为一列可修改项 <spoiler>

修改项 描述
DROWNING 溺水窒息
BLOCK_EXPLOSION 方块爆炸
ENTITY_EXPLOSION 实体爆炸
VOID 虚空
LIGHTNING 闪电
SUICIDE 命令/kill造成的杀害(不一定管用)
STARVATION 饥饿
POISON 药水
MAGIC 魔法(药水?)
DRAGON_BREATH 末影龙吐息(不一定管用)
WITHER 凋灵药水效果
FALLING_BLOCK 掉落方块
THORNS 荆棘附魔的反伤
CUSTOM 自定义,插件相关
LAVA 接触岩浆
MELTING 雪人的溶雪
FIRE_TICK 持续的点燃伤害
FIRE 接触火
HOT_FLOOR 站在岩浆块上面
FALL 掉落
SUFFOCATION 方块窒息
PROJECTILE 弹射物
ENTITY_ATTACK 近战伤害
CONTACT 触碰仙人掌

</spoiler>

例子

<spoiler> 注意::设置为1的话就是受到全数伤害
高于1就会受到比原本多的伤害
低于1就是减少等值伤害
0为免疫此伤害
设为负数值的话就会进行回血,但若此生物原本免疫此伤害便不会凑效(比如铁傀儡免疫掉落伤,烈焰人免疫烧伤/岩浆)

  • 那么我们开始从一个基本的框架弄起
ArmoredZombie:
  Mobtype: zombie
  Display: '&aArmored Zombie'
  Health: 40
  Damage: 6
  • 呐,我们先为Armored Zombie提升受到两个伤害的抗性吧。近战和弹射物受到的伤害为原来的75%,如下
ArmoredZombie:
  Mobtype: zombie
  Display: '&aArmored Zombie'
  Health: 40
  Damage: 6
  DamageModifiers:
  - ENTITY_ATTACK 0.75
  - PROJECTILE 0.75
  • 这样我们的僵尸就对这两的伤害抗性提高了。任何来自其他生物或玩家造成的这两个伤害就会减低25%。感觉有点厉害啊,咱们在给他一个弱点吧
ArmoredZombie:
  Mobtype: zombie
  Display: '&aArmored Zombie'
  Health: 40
  Damage: 6
  DamageModifiers:
  - ENTITY_ATTACK 0.75
  - PROJECTILE 0.75
  - MAGIC 1.25
  • 完成了~这样的话我们的僵尸就对近伤和弹射物有少许抗性提升,并且弱点为magic(投掷型恢复药水)

  • 我们下一个例子是抗火僵尸,他不仅不会受到接触火焰和岩浆的伤害,还会从中恢复血量。接触岩浆时恢复4倍速哦~

不适用于下界生物,因为他们自身免疫火焰伤害导致伤害调整不可修改

FireElemental:
  Mobtype: zombie
  Display: '&cFire Elemental'
  Health: 20
  DamageModifiers:
  - FIRE -1
  - LAVA -4
  - FIRE_TICK 0

</spoiler>

装备(Equipment)

  • 给予生物生成时装备上原版或MM配置的物品或装备
  • 装备只会在其生成时装备上,之后可以被如Equip技能更改
  • 如果不想生物生成时有任何装备,可以使用PreventRandomEquipment这一设置,详见Options
    另一种办法是装备栏设置上假的装备,如使用ID为0的物品
internal_mobname:
  Type: <mobtype>
  Equipment:
  - <item>:<slot>
  - <item>:<slot>
  - ...
    • <item>
      可以是MM配置物品或原版物品
    • <slot>
      决定物品所在的装备槽
描述
5 非主手槽,1.9的新功能。能渲染任何物品
4 头部。除了头盔外,可以是任何拥有方块模型的物品(如砧板,玻璃片,玻璃块...)或玩家头颅。大部分能准确渲染
3 胸部。只渲染胸甲,但可以装备任何物品
2 腿部。只渲染腿部装备,但可以装备任何物品
1 脚部。只渲染靴子,但可以装备任何物品
0 主手槽。渲染任何物品

非主手(5)槽于2.3.2版本加入 例子 <spoiler>

awesome_boss:
  Type: pig_zombie
  Equipment:
  - awesome_boss_helmet:4
  - diamond_sword:0

头部的awesome_boss_helmet为MM配置物品
主手握着原版钻石剑
</spoiler>

死亡信息(KillMessages)

  • 允许你自定义生物杀死玩家时的显示信息。通常当玩家被杀死时只会显示"玩家被僵尸杀死"或"玩家被燃烧至死"之类的信息。给予自定义死亡信息让死亡的意义...到达一个新的高度
  • 写法比较简单。还可以设置从已设好的语句中随机显示一个。
Souleater:
  Type: SKELETON
  Display: 'Soul Eater'
  Health: 666
  KillMessages:
  - '<target.name> had their soul completely devoured'
  - '<target.name><&sq>s soul was feasted upon by Soul Eater'
  Skills:
  ...
  • 就是这么简单!任何被Soul Eater杀掉的玩家,服务器会发送设置好的2个语句中的随机一个。同时也可以于语句中使用变量,比如例子中所使用的<target.name>就是生物目标对象的名字,也就是死亡的玩家名字
  • 更多的修改可在config.yml下修改KillMessagePrefix。此项修改为所有生物的杀害信息(然而修改这里不适用变量)

小技巧

  • 你也可以设置如下来使生物"不显示"玩家死亡信息
SilentUndead:
  Type: zombie
  Display: 'Silent Undead'
  KillMessages:
  - ''

等级调整值(LevelModifiers)

  • 生物的等级是一个比较有用的功能。等级的上升意味着其威力的提升,同时还能因其掉落更多的物品
  • 或者,更通过修改设置可以使其根据自身等级掉落完全不同的物品,使用不同的技能,又或者生成于不同的地方(使用spawners和randomspawns)
  • 生物的等级可被世界范围(见下),随机生成,或技能SetLevel影响
  • 此页目前只概括基本的用法,更多教程或例子或在以后添加
Zombie:
  MobType: zombie
  Health: 100
  Damage: 10
  Display: '&5Zombie Lvl - <mob.level>'
  Options:
    MovementSpeed: 0.3
  Drops:
  - GOLD_NUGGET 1 1
  DropsPerLevel:
  - GOLD_NUGGET 1 0.5
  LevelModifiers:
    Health: 5
    Damage: 0.5


  • 下面可改的数据会根据当前级别增加到原来的基础之上
  • 若是生物配置下没有设定其基本的几项属性可能会不能正常使用
中文
Health: [number] 血量
Damage: [number] 近战伤害
KnockbackResistance: [number] 击退抗性
Power: [number] 威力用于几个适用技能的伤害计算单位
Armor: [number] 防御
MovementSpeed: [number] 移动速度
AttackSpeed: [number] 攻击速度
  • "MovmentSpeed"和"AttackSpeed"于2.3.2添加

世界范围(World Scaling)

<spoiler>

  • 随机生成的MM生物的等级可以被插件或config.yml下定义的世界的范围所配予。设置办法为打开config.yml,如下
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)

  • 使生物看着像另一种生物,物品,方块或其他实体
  • 需要LibsDisguisesProtocolLib插件
    还有某些版本能完美运行,有些却很差强人意...自行体验

<spoiler>

英文 中文
arrow
babyzombievillager 小僵尸村民
bat 蝙蝠
blaze 烈焰人
block 方块。见下
boat
cave_spider 洞穴蜘蛛
chicken
cow
creeper 爬行者
donkey 驴子
dropped_item 掉落物。见下
egg
ender_crystal 末影水晶
ender_dragon 末影龙
ender_pearl 末影珍珠
ender_signal 末影之眼丢出时的粒子效果
enderman 末影人
experience_orb 经验球
fireball 火焰弹
firework 火箭
fishing_hook 鱼钩
ghast 恶魂
giant 巨人
horse
iron_golem 铁傀儡
item_frame 物品展示框
leash_hitch 绑出去的拴绳
magma_cube 岩浆怪
minecart 矿车
minecart_chest 箱子矿车
minecart_furnace 熔炉矿车
minecart_hopper 漏斗矿车
minecart_mob_spawner 刷怪笼矿车
minecart_tnt TNT矿车
mule 骡子
mushroom_cow 蘑菇牛
ocelot 豹猫
painting 挂画
pig
pig_zombie 僵尸猪人
player 玩家。见下
polar_bear 北极熊
primed_tnt 点燃的TNT
sheep
silverfish 蠹虫
skeleton 骷髅
skeleton_horse 骷髅马
slime 史莱姆
small_fireball 小型火焰弹
snowball 雪球
snowman 雪傀儡
spider 蜘蛛
splash_potion 投掷型药水
squid 鱿鱼
thrown_exp_bottle 经验瓶
undead_horse 僵尸马
villager 村民
witch 女巫
wither 凋灵
wither_skeleton 凋灵骷髅
wither_skull 凋灵之首
wolf
zombie 僵尸
zombievillager 僵尸村民

</spoiler> 伪装可修改项 <spoiler>

描述
Disguise.Burning: true 被点燃特效
Disguise.Blocking: true 被方块窒息效果
Disguise.Invisible: true 隐身
Disguise.ShowName: true 显示一般不会显示的名字,如掉落物或方块的名字
Disguise.Sneaking: true 按下shift的潜行动作
Disguise.Sprinting: true 冲刺动作
Disguise.ModifyBoundingBox: false 保留/使用原有的碰撞箱大小
Disguise.Glowing: true 发光药水效果
Disguise.Gliding 滑行动作
  • GlowingGliding于2.3.2添加

示例

SneakyDisguisingMob:
  Type: wither_skeleton
  Display: 'meh'
  CustomKillMessages:
  - '<target.name> was sneaked upon! (to death)'
  Health: 128
  Disguise:
    Type: player
    Skin: 'meeeh'
    Player: Steve
    Burning: true
    Blocking: true
    Invisible: false
    ShowName: false
    Sneaking: true
    Sprinting: true
    ModifyBoundingBox: false

</spoiler> 例子

  • 伪装为附加值为0,显示名字的铁方块
LivingIron:
  Type: Skeleton
  Disguise:
    Type: BLOCK
    Block: IRON_BLOCK
    BlockData: 0
    ShowName: true
  • 伪装为附加值为0的铁剑
PossessedSword:
  Type: Skeleton
  Disguise:
    Type: ITEM
    Item: IRON_SWORD
    ItemData: 0
  • 伪装为玩家Notch
GuardMob:
    Type: IRON_GOLEM
    Disguise:
      Type: Player
      Player: Guard
      Skin: Notch

技能(Skills)&变量

  • 一列可用的MythicMobs技能详细列表
  • 技能为MM插件的一大特点。所有生物都可以根据不同情况发动技能。技能的编写十分简单且灵活,很容易就能编辑出一个Minecraft下的MMORPGs类型的BOSS
  • 一个完整的技能由以下几个构成
    基本类技能Mechanics
    特效类技能Effects
    技能目标对象Targeters
    简易的技能触发要求Triggers
    更高级的触发条件Conditions
技能编辑教学
一个技能的顺序格式如下
FieryZombie:
  Type: ZOMBIE
  Display: 'Fiery Zombie'
  Health: 50
  Skills:
  - 技能1
  - 技能2
  - 等...

大概就是这样,那一个实际的例子是怎样的呢?

FieryZombie:
  Type: ZOMBIE
  Display: 'Fiery Zombie'
  Health: 50
  Skills:
  - ignite{ticks=100} @target ~onAttack <50% 0.5

就是这样,现在我们来详细看下一个技能的格式

  Skills:
  - 技能名字{技能修改项=数值} @[技能对象] ~on[激活条件] [血量要求] [几率]

技能(Mechanics)

  • 技能的名字,一个技能最先也是最重要的部分。技能有很多种,点火,霹雷...技能可分为两类,以实体为目标对象的,以坐标位置为触发点的。有些技能同时属于这两类,有些则两类都不是
  • 大部分技能都有可修改项。就跟在技能名字的后面,填写于{ }的里面。而每个修改项用符号;分隔
  Skills:
  - 技能名字{技能修改项=数值;技能修改项=数值;技能修改项=数值}
  • 你也可以像下面这样换行使其更易于编辑,不过请保证格式正确
  Skills:
  - 技能名字{
      技能修改项=数值;
      技能修改项=数值;
      技能修改项=数值;
      }
  • 大部分的技能格式都是这样的啦,再举个例子,比如想生物把攻击对象点燃5秒(5秒=100刻,1秒=20刻)
  Skills:
  - ignite{ticks=100}

技能目标(Targeters)

  • 技能目标,顾名思义就是你所希望释放的技能所选取的目标。而技能分两大类,以实体为目标的和以坐标/位置为目标的。给技能选取正确的技能目标很重要哦。
  • 目标通常跟随在@后,格式如下
  Skills:
  - 技能名字{技能修改项=数值} @技能目标{目标修改项=数值}
  • 在看回我们之前的例子,点火
  Skills:
  - ignite{ticks=100} @target
  • 又或者你想点燃技能激活位置半径范围5格下的所有玩家
  Skills:
  - ignite{ticks=100} @PlayersInRadius{r=5}
  • 只要记住,目标就是技能的目标

触发条件(Triggers)

  • 当然这个也很重要,决定是因为什么而触发技能,一般填写于~后面
  • 触发条件还和一个特别的技能目标有关,@trigger,以触发技能的实体为技能对象
  Skills:
  - 技能名字{技能修改项=数值} @技能目标{目标修改项=数值} ~on激活时
  • 在看回我们先前的例子...我们想生物每次进行攻击时使用一次5秒的点燃技能
  Skills:
  - ignite{ticks=100} @target ~onAttack

血量要求(Health Modifiers)

  • 血量要求,用于确定当生物的血量满足什么情况下技能才可以发动
    使用这三个判定符=,<,>
    以下几个例子
=90% - 血量到达90%时触发
<50% - 血量小于50%时触发
=30%-50% - 当血量为30%到50%之间时触发
<2000 - 血量小于2000点时触发
>500 - 血量大于500点时触发
>10,=5,<3% - 血量大于10点,等于5,或小于3%时都可触发
  • 我们把之前的例子再拉回来...血量小于50%时,每次攻击目标时使用点燃技能
   Skills:
   - ignite{ticks=100} @target ~onAttack <50%

几率(Chance)

  • 满足条件后技能使用的几率
  • 1.0为100%,一般不填写的话也就是默认100%使用;0.5是50%几率,0就是不会发动...
  • 我们把例子最后一次再拉回来...血量小于50%时,每次攻击目标时有50%几率使用点燃技能
  Skills:
  - ignite{ticks=100} @target ~onAttack <50% 0.5

变量(Variables)

  • 变量用于决定返还一个特定的数值并用于技能之上,也可单纯用于显示颜色或特殊符号

例子显示被干掉的生物名字 被骑士 显示使用技能的玩家的名字 使用技能斩杀了

Skills:
- message{m="&b<mob.name>&r 被骑士 &a<trigger.name>&r 使用技能斩杀了"} @PIR{r=20} ~onDeath

技能变量

生物变量 描述
若没有标明生物名字,以下变量或许会不能运行
<mob.uuid> 返还生物的UUID
<mob.level> 返还生物的等级
<mob.name> 返还生物的名字
<mob.hp> 返还生物的当前血量值
<mob.mhp> 返还生物的最大(max)血量值
<mob.php> 返还生物的当前血量值并以百分比形式
<mob.thp> 返还生物的最大(full number)血量值
<mob.tt.top> 返还对生物威胁度最高的伤害源名字
<mob.l.w> 返还生物现在所在世界的名字
<mob.l.x> 返还生物现在的x轴坐标
<mob.l.y> 返还生物现在的y轴坐标
<mob.l.z> 返还生物现在的z轴坐标
<mob.stance> 返还生物当前的状态(2.2)
<mob.owner.name> 返还狼的主人的名字(2.3)
<mob.owner.uuid> 返还狼的主人的UUID(2.3)
目标变量 描述
以下变量返还目标选择器下的相关数值
<target.name>+@NearstPlayer就会返还离使用此技能的生物的最近玩家的名字
<target.uuid> 返还目标的UUID
<target.name> 返还目标的名字
<target.hp> 返还目标的当前血量值
<target.threat> 返还目标的威胁度
<target.l.w> 返还目标现在所在世界的名字
<target.l.x> 返还目标现在的x轴坐标
<target.l.y> 返还目标现在的y轴坐标
<target.l.z> 返还目标现在的z轴坐标
触发变量 描述
<trigger.uuid> 返还技能触发者的UUID
<trigger..name> 返还技能触发者的名字
<trigger.hp> 返还技能触发者的当前血量值
<trigger.threat> 返还技能触发者的威胁度
<trigger.l.w> 返还技能触发者现在所在世界的名字
<trigger.l.x> 返还技能触发者现在的x轴坐标
<trigger.l.y> 返还技能触发者现在的y轴坐标
<trigger.l.z> 返还技能触发者现在的z轴坐标

其他变量

变量 描述
<drops.xp> 返还Heroes或SkillAPI插件的经验掉落值
<drops.money> 返还Vault插件的金钱掉落值

特殊变量

变量 描述
<random.min-max> 返还一个定义的最小和最大数之间的随机数值(2.2.1)
<mob.score.objective> 返还生物记分板objective下的分数(2.3)
<target.score.objective> 返还目标记分板objective下的分数(2.3)
<trigger.score.objective> 返还技能触发者记分板objective下的分数(2.3)
<global.score.objective> 返还记分板objective下的总分(2.3)
<score.objective.dummyname> 返还记分板objectivedummyname的分数(2.3)

特殊符号

变量 描述
<&co> 返还冒号 :
<&sq> 返还撇号 '
<&da> 返还减号 -
<&bs> 返还反斜杠 \
<&fs> 返还斜杠 /
<&sp> 返还空格
<&cm> 返还逗号 ,
<&sc> 返还分号 ;
<&eq> 返还等号 =
<&ss> 返还分节符 §
<&dq> 返还双引号 "
<&rb> 返还右方括号 ]
<&lb> 返还左方括号 [
<&rc> 返还右大括号 }
<&lc> 返还左大括号 {
<&nl> 另起新的一行
<&heart> 返还一个爱心符号(2.1.7)
<&skull> 返还一个骷髅骨头符号(2.1.7)

颜色代码

可使用于生物或技能下,也能用于tellraw命令下

变量 描述
&0 黑色
&1 深蓝色
&2 深绿色
&3 深水蓝色
&4 深红色
&5 深紫色
&6 金色
&7 灰色
&8 深灰色
&9 蓝色
&A 绿色
&B 水蓝色
&C 红色
&D 浅紫
&E 黄色
&F 白色
&K 乱码
&L 加粗
&M 删除线
&N 下划线
&O 斜体
&R 颜色代码重置/清空

条件要求(Conditions)

一些旧版(2.5.11)的条件。只要把Conditions改为LegacyConditions就仍然可在MM4.0.0+使用 <spoiler>

  • biome [biome_name]
    • 若在此地形
    • 地形种类
    • 允许使用/进行分隔
    • 地形名字应为全大写
    • biome FOREST


  • distancefromspawn [number](2.4)
    • 若在生成点特定的范围内
    • 可以特定范围 10-405,也可以是范围值 >10 或 <77 等...
    • distancefromspawn >100


  • globalscore [objective];[score](2.3)
    • 若玩家的分数...时
    • globalscore playerkills;>10


  • height [number_range]
    • 若在某y轴高度时
    • 可以是范围 20-40, >10 或 <5 等...
    • 按F3可查看高度/Y轴
    • height 0-20


  • heightabove/heightbelow [number]
    • 若在以上/以下高度时
    • 按F3可查看高度/Y轴
    • heightabove 0


  • holding [itemname]
    • 当技能使用者手持制定物品时
    • 必须是Bukkit定义的物品名字。不能是MM物品名字
    • 物品名字列表
    • 由于特殊漏洞原因,此条件不能检测带有损伤值的物品(2.2.1或之前)
    • holding STICK


  • inblock [material_type]
    • 若使用者在特定的方块时
    • 用于检测是否在水中、空中、岩浆里时十分有效
    • 物品名字列表
    • 允许使用/进行分隔
    • 注意若想使用者在水方块中而非仅仅是在水面请使用STATIONARY_WATER替代WATER
    • inblock WATER


  • incombat
    • 若处于战斗状态(拥有目标)时
    • incombat


  • inregion/notinregion [region]
    • 若处于/不处于WorldGuard插件定义的区域时
    • inregion castle


  • lastsignal [signal](2.2.1)
    • 若接受的最后一个信号为此指定的信号 详见signal技能
    • 不同于stance条件,signal会检测完全匹配的数据
    • lastsignal ping


  • level [number_range]
    • 若在指定的等级范围内
    • 可以是范围 20-40, >10 或 <5 等...
    • level >3


  • lightlevel [number_range]
    • 若处于指定的亮度范围内
    • 选值范围必须为0~15之间
    • lightlevel 0-3


  • lightlevelabove/lightlevelbelow [number]
    • 若处于以上/以下亮度范围内
    • lightlevelabove 6


  • lunarphase [phase]
    • 若在游戏内的某一天时
    • 可用逗号,分隔指定的游戏天数
    • lunarphase 0,2,4


  • mobscore [objective];[score](2.3)
    • 若其记分板的分数为某个值时
    • mobscore timeshit;=3


  • mobinchunk [number_range]
    • 若所在区块有指定量的生物时
    • 可以是范围 20-40, >10 或 <5 等...
    • mobinchunk <20


  • mobinworld [number_range]
    • 若所在世界有指定量的生物时
    • 可以是范围 20-40, >10 或 <5 等...
    • mobsinworld >100


  • mobtype [mobname]
    • 若生物的名字匹配时生成此生物
    • 只用于随机生成配置下
    • mobtype COW


  • offgcd
    • 若技能的整体冷却时间global cooldown为0时
    • global cooldown为用于决定生物所不能使用技能的时间段/技能延时
    • 使用gcd技能设置技能延时的时间,默认无冷却时间
    • 用于减慢或防止某些拥有多个技能的生物同时使用不同技能的几率
    • offfgcd


  • onblock [material_type]


  • outside/inside [true/false]
    • 若在室外/室内时
    • 室外的定义为对天空有清晰的视野时,室内的定义则相反
    • outside true


  • playerkills [number]
    • 若玩家斩杀数为指定值时
    • playerkills 7


  • playernotwithin/targetnotwithin [distance]
    • 若玩家/目标不在范围内时
    • 输入单个数值。若想使用范围值,使用targetdistance条件
    • playernotwithin 5
    • targetnotwithin 2


  • playerwithin/targetwithin [distance]
    • 若玩家/目标在范围内时
    • 输入单个数值。若想使用范围值,使用targetdistance条件
    • 通过连续配合targetinlineofsight条件使用来使生物即使见不到玩家或距离太远时也能使用技能
    • playerwithin 15
    • targetwithin 7


  • raining [true/false]
    • 若正在/没有下雨时
    • raining false


  • score(2.3)
    • 用于检测虚拟玩家记分板下的分数
    • score <objective>;<entry>;<numberrange>
    • score kills;dummyplayer;10-14


  • stance [string]
    • 若生物处于某一状态时
    • 状态由setstance技能给予
    • 使复杂的检测系统成为可能。若当前的状态被设置为AGGRO,而stance条件检测GG时,此次检测成立
    • stance defensive


  • sunny [true/false]
    • 若处于/不为晴天时
    • sunny true


  • targetscore [objective];[score](2.3)
    • 若目标记分板的分数为某数值时
    • targetscore mobkills;>99


  • targetdistance [number_range]
    • 若目标处于范围值内时
    • 识别使用范围,如 10-20
    • targetdistance 10-20


  • targetinlineofsight/targetnotinlineofsight [true/false]
    • 若目标在/不在可视范围内时
    • targetinlineofsight true


  • thundering [true/false]
    • 若有/没有打雷时
    • thundering false


  • world [worldname]
    • 若当前世界为指定的世界时
    • 可以指定单个世界,也可以使用逗号列表
    • 允许使用/进行分隔
    • world snowyworld, lavaworld, islandworld


  • worldtime [number_range]
    • 若当前世界时间为指定范围内时
    • 取值范围为0~24000
      可使用/time显示当前世界的时间
    • 0-12000为游戏内的白天,12001-13800为黄昏,13801-22200为晚上,22201-24000为黎明
    • worldtime 0-12000

例子

FlameShock:
  Cooldown: 1
  Conditions:
  - targetwithin 15
  - targetinlineofsight true
  - incombat
  - stance aggressive
  - onblock GRASS
  - offgcd
  Skills:
  - gcd{t=60}
  - message{m="<mob.name> begins casting a spell"}
  - potion{t=SLOW;d=60;l=7}
  - delay 60
  - message{m="<target.name> &ecombusts"}
  - effect:particles{p=flame;a=20;hS=3;vS=1;s=0;y=2}
  - potion{t=HARM;d=1;l=1}

</spoiler> 条件Conditions用于判定当处于/不处于某个情况时执行某项事件。条件的填写方法见例子
条件可用于以下位置 非所有条件适用于所有地方

  • [MythicMobs技能#.E6.8A.80.E8.83.BD.28Skill_Mechanics.29|基本技能]
  • [MythicMobs#.E6.8E.89.E8.90.BD.E8.A1.A8.28DropsTables.29|掉落表]
  • [MythicMobs#.E7.94.9F.E6.88.90.E7.82.B9.28Spawners.29|生成点]
  • 随机生成

当有Conditions下多个条件时,必须按顺序满足所有条件才可执行。那些允许使用/的条件只要满足其定义中的其中一个即视为匹配此条件

条件的运作流程

  • needtext

不选取目标类条件

  • needtext

目标/触发类条件

  • needtext

基本类条件

  • needtext

例子

<spoiler>

FlameShock:	●组合技配置名 FlameShock,详见skill技能。配置保存于/MythicMobs/Skills下
  Cooldown: 1	●组合技的冷却时间 1秒
  Conditions:	◎条件列表
  - targetwithin 15	●当目标在15格半径范围内时
  - targetinlineofsight true	●当目标在可视范围内时
  - incombat	●当技能使用者处于战斗状态(拥有目标对象)时
  - stance aggressive	●当状态被定义为aggressive时
  - onblock GRASS	●当战在草方块上时
  - offgcd	●当整体技能冷却时间为0时
  Skills:	◎技能列表,使用顺序从上往下进行
  - gcd{t=60}	●设置整体技能冷却时间为60刻/3秒。此时段内任何带有offgcd条件的技能不可用
  - message{m="<mob.name> 发动了一个技能"}	●发送信息 "此生物"发动了一个技能
  - potion{t=SLOW;d=60;l=7}	●缓慢药水效果,时长60刻/3秒,7级药水
  - delay 60	●60刻/3秒之后
  - message{m="<target.name> &e燃烧起来了"}	●发送信息 "此生物""黄字显示"燃烧起来了
  - effect:particles{p=flame;a=20;hS=3;vS=1;s=0;y=2}	●粒子flame效果,粒子量20,扩展左右3格上下1格的范围,粒子速度0,以激活点偏移y轴2格为粒子中心
  - potion{t=HARM;d=1;l=1}	●伤害药水效果,时长1刻/0.05秒,1级药水
	●●技能的目标于使用此技能组时定义,如下
FlameSprite:
  Type: ZOMBIE
  Display: 'Flame Sprite'
  Health: 20
  Skills:
  - skill{s=FlameShick}

</spoiler>

物品(Items)

  • needtext

掉落(Drops)

  • 给生物添加自定义掉落项
  • 可以是原版物品,MM定义的物品,经验球,能读取的其他插件物品,或者其自定义的掉落表(DropsTables)配合条件使用

掉落设置(Drops)

  • needtext

每级掉落(DropsPerLevel)

  • needtext

掉落表(DropsTables)

  • needtext

例子

  • needtext

生成点(Spawners)

  • needtext

版本更新日志

  • needtext

待补充∅

∅needtext∅

相关链接

MythicMobs技能分页:http://mineplugin.org/MythicMobs%E6%8A%80%E8%83%BD
MythicMobs官网:http://www.mythicmobs.net/index.php
MythicMobsManual:http://www.mythicmobs.net/manual/doku.php
MythicMobsForum:http://www.mythicmobs.net/index.php?forums/

授权声明

本页内容翻译/搬运自MythicMobs插件手册
授权方式为GNU Free Documentation License 1.3