- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
MythicMobs:修订间差异
小 (触发器 排版修改) |
小 (物品(Items) 排版修改) |
||
第3,515行: | 第3,515行: | ||
*注意,在4.9.0,mm item import 物品 yml指令最好不要用,其存入的格式无法被MM所读取!请用下面的格式 | *注意,在4.9.0,mm item import 物品 yml指令最好不要用,其存入的格式无法被MM所读取!请用下面的格式 | ||
*在4.9.1,前面提到的import Bug已经修复! | *在4.9.1,前面提到的import Bug已经修复! | ||
{{Hide|标题=物品配置栗子 | |||
|内容= | |||
<pre> | <pre> | ||
鲲鲲: | 鲲鲲: | ||
第3,530行: | 第3,530行: | ||
BannerLayers: | BannerLayers: | ||
</pre> | </pre> | ||
}} | |||
===拆开所有的选项来看=== | ===拆开所有的选项来看=== | ||
<spoiler> | <spoiler> |
2020年12月11日 (五) 11:22的版本
- 搬运问题咨询鲲鲲: https://wpa.qq.com/msgrd?v=3&uin=1240798440&site=qq&menu=yes
- 有问题私聊咱 or 有值得改进的地方告诉咱
- 本页面已更新至4.11.1,切忌MM版本过低
- MM交流群:777152259
- 最近一次编辑日期为 2020.12.9
- 感谢CHuNan帮忙搬运QWQ。
外文名 | MythicMobs |
插件类型 | Spigot / CraftBukkit |
最新版本 | v4.10.1(免费版)v4.10.1(付费版)v4.11-3491(测试版) |
兼容服务端 | 目前为MC1.12-1.16.3,不兼容:MM4.7.0不支持MC1.7/1.9/1.10,MM4.8.0不支持MC1.8,MM4.9.0不支持1.11 |
前置插件 | 无 |
源地址 | http://mythicmobs.net/manual/doku.php |
须知
MythicMobs在4.7.0+不支持1.7/1.9/1.10的服务器 MythicMobs在4.8.0+不支持1.11的服务器 MythicMobs在4.9.0+不支持1.8的服务器 该页面一切以最新付费版本(4.10.1)为准
概览
您能使用本插件做以下事情
- 技能——创造技能(冷却时间/目标选择器/触发器)
- 条件——为技能增加条件。
- 属性——修改属性(血量/近战伤害/移速/攻击范围)
- 特效——使用音效与粒子效果为技能增添色彩
- 装备——自定义装备/掉落表的掉落几率/数量。
- 伤害调整——为生物设置伤害抗性。(免疫溺水/受到箭的伤害减半/烧伤伤害抵消...)
- 生成控制——定点/定时/条件与自定义属性...
- 等级制度——根据等级提升生物各项属性与掉落。
- 威胁度——更好的攻击目标选择。
- 自定义AI——自定义生物适当的行动目标和首要/次要攻击目标。
- 派别系统——设置派系,配合自定义AI使生物攻击不同派系,或与玩家统一战线/为技能加上派系条件。
- 伪装——使生物伪装任意事物~ 需要LibsDisguises与ProtocolLib
- 变量——强大的数值计算系统需要PlaceholderAPI
- BOSS血条——将生物血条显示在屏幕上方需要BossBar
- 插件兼容——兼容各种流行的插件(SkillAPI/Heroes/Vault...)!
- 更多功能尽情期待~
配置文件(config.yml)
编辑yml格式文件时,可以使用#符号留言或标记。
# 这是一条留言。
如果yml内含有中文,Windows服务端需转码成ANSI,Linux服务端需转码成UTF8以避免文字乱码。
只要保证配置文件的后缀为yml并且此文件为正确可读的yml格式,任何yml配置文件(config.yml除外)都可以被重命名为任意名字。
这样就可以更方便地管理自己的配置文件,比如 Tier1_mobs.yml,Tier2_mobs.yml。
MM4.10+config.yml文本 |
---|
Configuration: Version: 4.9 General: AllowMetrics: true CheckForUpdates: true CompatibilityMode: false DebugLevel: 0 ErrorLogging: true Language: enUS UseVolatileFeatures: true Clock: ClockInterval: 1 SaveInterval: 5 SpawnsInterval: 2 ScannerInterval: 10 CleanupInterval: 600 Components: CustomSpawners: true RandomSpawning: true Mobs: DespawnByDefault: true EnableAIModifiers: true EnableTimerSkills: true EnableThreatTables: true EnablePlayerFactions: true EnableLegacySkills: false KillMessagePrefix: '' PreventOtherDropsByDefault: false Scaling: Default: Enabled: true PerBlocksFromSpawn: 250 world2: Enabled: true PerBlocksFromSpawn: 250 world2_nether: Enabled: false PerBlocksFromSpawn: 100 ScalingEquations: Health: V * ((1.05)^(L-1)) Damage: V * ((1.05)^(L-1)) DefaultLevelModifiers: Health: 0.1 Armor: 0 Damage: 0 KnockbackResistance: 0 Power: 0 RandomSpawning: DisableVanillaSpawns: false GenerateSpawnPoints: false MaxMobsPerChunk: 2 SpawnRadiusPerPlayer: 64 SpawnRadiusPerPlayerY: 32 DespawnLazyRandomMobs: true MaxGenerationTime: 20 PointsPerSecond: Land: 5 Air: 0 Sea: 2 Lava: 0 Ground: 0 Compatibility: Heroes: Enabled: true McMMO: Enabled: true ShowXPMessage: true XPMessageFormat: '&7You receive <drop.amount> experience for slaying <dropper.name>' SkillAPI: Enabled: true ShowXPMessage: true XPMessageFormat: '&7You receive <drop.amount> experience for slaying <dropper.name>' Vault: Enabled: true ShowMoneyMessage: true MoneyMessageFormat: '&7You receive <drop.amount> currency for slaying <dropper.name>' |
配置文件详解
基本项(General)
<spoiler>
项 | 参数 | 描述 |
---|---|---|
AllowMetrics | [true/false] | 是否发送度量数据给开发者 |
CheckForUpdates | [true/false] | 是否自动检测插件最新版本 |
CompatibilityMode | [true/false] | 是否开启插件兼容模式 若和其他插件有冲突的话启用此模式或许能解决插件冲突问题 |
DebugLevel | [number] | 调试等级,等级越高显示的信息就越多 启用的话会关闭妨碍调试的功能,如随机生成,生物生成,和其他随机的功能 (范围:0 ~ 4) 0:不检测 1:最低级
2:中等级
3:重量级 4:过量信息 |
ErrorLogging | [true/false] | 是否保存插件报错日志 保存路径:\MythicMobs\Error Logs\ |
Language | [enUS之类的] | 语言,没啥用处的选项 |
UseVolatileFeatures | [true/false] | 是否使用易变特性 如果使用的是不支持的Bukkit或奇怪的Spigot版本,可尝试禁用此项 |
</spoiler>
时钟(Clock)
<spoiler>
项 | 参数 | 描述 |
---|---|---|
ClockInterval | [number] | 设置技能所允许的最低发动间隔,修改此项后必须重启插件,建议数值以5递增 (只适用于“~onTimer:xx”。单位:刻) |
SaveInterval | [number] | 保存插件数据的时间间隔(单位:分钟) |
SpawnsInterval | [number] | 生成间隔(单位:秒) |
ScannerInterval | [number] | 检测区块和清除非加载区块生物的间隔(单位:秒) |
CleanupInterval | [number] | 清除间隔(单位:秒) |
</spoiler>
分支(Components)
<spoiler>
项 | 参数 | 描述 |
---|---|---|
CustomSpawners | [true/false] | 是否启用此插件怪物的生成 |
RandomSpawning | [true/false] | 是否启用此插件怪物的随机生成 |
</spoiler>
生物(Mobs)
<spoiler>
项 | 参数 | 描述 |
---|---|---|
DespawnByDefault | [true/false] | 清除MM生物的机制是否和原版一样(就是离玩家太远刷没) |
EnableAIModifiers | [true/false] | 是否启用自定义AI |
EnableTimerSkills | [true/false] | 是否启用计时技能 |
EnableThreatTables | [true/false] | 是否启用威胁度 |
EnablePlayerFactions | [true/false] | 是否启用player为可用派别 |
EnableLegacySkills | [true/false] | 是否识别旧版MythicMobs(2.0版本之前)插件的技能格式 |
KillMessagePrefix | [文本] | 设置MM生物杀死玩家时显示的信息前缀 |
PreventOtherDropsByDefault | [true/false] | MM生物死亡时是否掉落原版掉落物 |
ShowHealth Radius(半径) Format(前缀) |
[数量] '[文本]' |
血量显示项 发送生物血量信息的半径范围 血量信息的格式,可使用变量 |
DefaultLevelModifiers | 默认每提升1级的各项上升数值 |
</spoiler>
随机刷怪项(Random Spawning)
<spoiler>
项 | 参数 | 描述 |
---|---|---|
DisableVanillaSpawns | [true/false] | 是否禁止刷新原版生物 |
GenerateSpawnPoints | [true/false] | 是否生成生物刷新点,DisableVanillaSpawns为false的话会刷出原版生物,若随机刷怪模式为ADD请设置为true |
MaxMobsPerChunk | [数值] | 每个区块最多可以存在多少生物,多了就不刷 |
SpawnRadiusPerPlayer | [数值] | 以玩家为中心,"数值"为半径随机刷怪 |
SpawnRadiusPerPlayerY | [数值] | 以玩家为中心,"数值"为半径垂直随机刷怪 |
DespawnLazyRandomMobs | [true/false] | 清除不积极的由随机刷怪刷出的生物 |
MaxGenerationTime | [数值] | 最大刷新间隔 |
PointsPerSecond | [数值] | 刷怪点不同类型的刷新间隔配置
PointsPerSecond: Land: 5 Air: 0 Sea: 2 Lava: 0 Ground: 0 Land就是陆地,不知道和Ground有啥区别,Air是空中刷,Sea是在海里刷,Lava在熔岩上刷 |
</spoiler>
兼容项(Compatibility)
<spoiler>
项 | 参数 | 描述 |
---|---|---|
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>
命令(Commands)
输入/mythicmobs会显示所有可用的命令。每个命令也会提示你如何使用。
名字name和显示名字DisplayName并不是同一个东西。
[ ]内的参数为必填,< >内的参数为选填。
基本命令(General Commands)
命令 | 参数 | 描述 |
---|---|---|
/mythicmobs /mm |
显示所有可用命令 | |
/mm debug /mm d |
[level] | 调试等级 |
/mm debugmode | [true/false] | 是否启用调试模式 |
/mm reload /mm r |
插件重载 | |
/mm save | 强行保存 |
物品命令(Item Commands)
命令 | 参数 | 描述 |
---|---|---|
/mm items /mm i |
显示所有物品相关的命令 | |
/mm items get | [物品] <数量> | 给予自己一个插件配置文件下的物品 |
/mm items give mm i g |
[玩家] [物品] <数量> | 给予特定玩家一个插件配置文件下的物品 |
/mm items import | [物品名] <文档名称> | 给予特定玩家一个插件配置文件下的物品 |
/mm items list | 列出成功读取的物品 |
生物命令(Mob Commands)
命令 | 参数 | 描述 |
---|---|---|
/mm mobs /mm m |
显示所有生物相关的命令 | |
/mm mobs info | [生物] | 显示特定生物的详细信息 |
/mm mobs list /mm m l |
列出成功读取的生物 | |
/mm mobs listactive /mm m la |
列出目前已生成的生物及其数量 | |
/mm mobs kill /mm m k |
[x] | 清除名字为x的所有生物 |
/mm mobs killall /mm m ka |
清除所有生物 | |
/mm mobs spawn /mm m s |
[生物]:<等级> <数量> <世界,x,y,z> <-p(填指定玩家名,在玩家处召唤怪物)> | 生成特定的生物 |
/mm mobs stats | 显示存活MM生物的数量 | |
/mm mobs spawnsilent | [生物]:<等级> <数量> <世界,x,y,z> | 生成特定的生物,不记录到控制台 |
/mm mobs stats | 显示多少已加载的生物(数量) |
刷怪蛋命令(Mob Egg Commands)
命令 | 参数 | 描述 |
---|---|---|
/mm egg /mm e |
显示所有刷怪蛋相关的命令 | |
/mm egg get | [生物] <数量> | 给予自己特定生物的刷怪蛋 |
/mm egg give | [玩家] [生物] <数量> | 给予特定玩家特定生物的刷怪蛋 |
生成点命令(Spawner Commands)
大部分情况下,生成点配置识别以下通配符。
- ?为单个字母的通配符
使用"/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 | 撤回上一次剪切/粘贴动作 只在当前剪切动作有效。若有新的剪切动作以新的进行撤回 |
实体测试命令(Utility Commands)
/mm test cast 技能 |
- 目标为目标选择器,target,playersinradius...
- 使用一个技能。例子:
- 支持技能所写的条件
信号命令(Signal Commands)
/mm signal <UUID> <信号> |
- 用于发送给生物一个特定的信号,从而触发其技能(~onSignal[signal])
- 只在输入生物的UUID时有效,输入生物名字无效
- 通常配合/tellraw使用
- 此命令对所有玩家开放使用。然而因为无法知道生物的UUID和信号的名字,普通玩家并不可以滥用此命令
权限(Permissions)
作者的话:
"At the moment MythicMobs only supports two permission nodes to grant full access to the plugin.
The reason for this is that nearly all commands in MythicMobs are heavily abusable, and at the moment I don't see a reason for individual permissions for each feature.
Regardless, I will add more permissions in the future when I have time for those that would like it, but it is not high on my priority list."
译:
“目前MythicMobs只拥有两个权限节点。
这是因为几乎全部MythicMobs命令都可以正常使用,以及目前我没康到令每个命令都有独立权限节点的理由。
不论怎样,希望将来我有时间添加更多的权限节点,但在这之前我有更多的东西要更新。”
基本权限
- mythicmobs.admin
此插件所有命令的权限 - mythicmobs.signal
使用/mm signal <mob.uuid> <signal>
命令的权限
命令权限
可以通过给予权限mythicmobs.command.<命令>
来使用其对应的命令
例如:
- mythicmobs.command.info
使用/mm info command
命令的权限 - mythicmobs.command.mobs.list
使用/mm mobs list
命令的权限
常见问题(FAQ)
常见问题解答
为啥咱的咪咪怪召唤不出来? |
---|
查看服务器报错,如果打错东西了会有这么个提示: 图中的问题是Disguise:左边莫得用空格隔开注释 |
为啥咱的咪咪怪伪装不起作用? |
---|
*确认Libs'Disguise的版本是否对应MM版本,4.9.0以上的MM版本请使用版本号以10开头的伪装
|
可以使用其他的插件的命令来给助攻的玩家以奖励吗? |
---|
Test: Mobtype: Zombie Modules: ThreatTable: true Skills: - command{cmd="give $player diamond 64"} @TTP ~onDeath |
我怎样可以获得自定义生物的头颅呢? |
---|
在你的 ExampleItem.yml 里像这样:
PlayerHead: Id: 397 Data: 3 Options: SkinTexture: eyasfsankasgnksljgaklfjs 你可以在这里找到玩家的皮肤材质: https://sessionserver.mojang.com/session/minecraft/profile/填写TrimmedUUID 使用http://mcuuid.net/ 来查询玩家的TrimmedUUID |
我怎样制作一个释放法术的生物而不是使用近战攻击? |
---|
使用 Projectile 技能。 举个例子,看起来像这样: IceBolt: potion{t=SLOW;lvl=4;d=20} @self projectile{whatever your projectile is here} ~onTimer:20 这会将生物减慢,并释放技能。 更多法术技能看特殊类技能 |
我怎么在玩家伪装时使用颜色代码? |
---|
TestMob: Mobtype: Zombie Disguise: Type: Player Player: '&bTest' Skin: zDrakon 记住使用单引号将玩家括起来,使用颜色代码。 |
我试着使用火焰粒子来做技能,但是范围太广了,我是做错了什么吗? |
---|
设置技能的 hS 和 vS 为 0.1,火焰粒子本来就很散,因为是从熔炉这些东西里发出的。 你需要设置水平和垂直的偏移量,设置的小点会看起来很不错。 |
为什么我不能把生物的生命值设置为2000以上? |
---|
这个锅给Spigot,进入你的spigot.yml,将 max-health 设置的大一些。 |
我想创建一个很多技能的生物,可是怎么让他不要一次性使用所有的技能(这很OP!) |
---|
有很多种方法将技能设置的更加随机,更加不确定:
|
我想给生物使用自定义音效,怎么办? (来自 SeanArmor 于 MythicMobs 论坛) |
---|
使用自定义音效必须使用材质包。没有使用材质的玩家听不到。 前往 http://www.wowhead.com/sounds或者其他音乐网站。 或者使用 SeanArmor的方法 (不确定能不能用): 然后用新的OGG替换,然后使用原版音效。(参照/playsound命令) |
其他问题/意见
请在 MythicMobs 论坛发布它们。这里有很多好心的论坛成员,比如 adw123,DrakonDawn,NathanWolf,等等。你可以问他们寻求帮助。
如果你喜欢直接从开发者那里获得帮助的话,你也可以看看付费的支持。
附加插件/模块
MythicMobsExtension |
---|
MythicMobsExtension是一个MythicMobs的附加,允许你做到更多的机制和技能,使用更多的触发条件。 下载它!并将 MythicMobsExtension.jar 放进你的服务器,并重启。 |
Artifacts |
---|
Artifacts(或者MythicArtifacts)是一个MythicMobs的附加,允许你创建自定义物品。 物品可以使用MythicMobs的机制和技能,使用特殊的触发条件,
测试: Id: 352 #MM内物品ID为BONE,这在1.12有些问题,用数字感觉更好 Display: '看下面Lore写的,和lore里说的一样' Data: 1 #MM内损伤值为damage,由于和arf的伤害标签冲突,就变成Data了 Lore: - '&8加单引号颜色符号用&' - §8不加单引号颜色符号用§ Enchantments: - DIG_SPEED:6 - LOOT_BONUS_BLOCKS:4 - SILK_TOUCH:1 Options: Unbreakable: true #无法破坏,物品设置,你可以去Gitbook查阅 Skills: - skill{s=233} 目标 触发器 #只能这样写 否则无效 Artifacts购买:Artifacts购买 |
Quest |
---|
前置:Quests 2.6.0+ MythicMobs 4.1.0+
安装
使用
已知问题
|
MiniaturePets |
---|
安装
使用 支持很简单: 鲲鲲: Type: MPET MPet: Type: <type> Anchor: <invisible "base" mob type> ShowName: <true/false> 举个例子,你可以创建 鲲鲲 并使用 MPets有的 “Pug” 类型: 鲲鲲: Type: MPET MPet: Type: pug Anchor: SPIDER ShowName: true Display: '鲲鲲 |
生物(Mobs)
概览
- MythicMobs基于自定义的生物(或实体),有很多选项和属性可以使用。下面是可以添加到自定义生物中的选项和属性的完整列表。
- 其中大多数是可选的,这意味着您不必每次创建新的生物时都配置整个列表。真正必要的只是内部生物名称(internal_mobname)和生物种类(Type)。
- 你可以在Mobs文件夹中创建任意数量的文件,文件名称随意,但必须以.yml结尾。
一个带有所有选项的示例 |
---|
鲲鲲的主人: #怪物内部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 #怪物护甲为100点 Damage: 100 #怪物伤害为100点 Drops: #怪物掉落配置 - 笨蛋鲲鲲的头 1 1 #必定掉落一个MM物品内部ID为"笨蛋鲲鲲的头" - exp 10 1 #必定掉落10经验 - DIAMOND 1 0.9 #90%掉落1颗钻石 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)
- 确定生物的类别
- 不分大小写
可识别的种类列表 深蓝色为1.15新增,深蓝色粗体为1.16新增,蓝色为1.13新增,蓝色粗体为1.14新增 <spoiler>
英文名字 | 中文名字 |
---|---|
ARMOR_STAND | 盔甲架 |
BABY_DROWNED | 小溺尸 |
BABY_HOGLIN | 小疣猪 |
BABY_PIG_ZOMBIE | 小僵尸猪人 |
BABY_PIG_ZOMBIE_VILLAGER | 小僵尸猪村民 |
BABY_ZOMBIE | 小僵尸 |
BABY_ZOMBIE_VILLAGER | 小僵尸村民 |
BAT | 蝙蝠 |
BEE | 蜜蜂 |
BLAZE | 烈焰人 |
BOAT | 船 |
CAT | 猫 |
CAVE_SPIDER | 洞穴蜘蛛 |
CHICKEN | 鸡 |
COW | 牛 |
CREEPER | 爬行者 |
溺尸 | |
DONKEY | 驴 |
ELDER_GUARDIAN | 远古守卫者 |
ENDER_DRAGON | 末影龙 |
ENDERMAN | 末影人 |
ENDERMITE | 末影螨 |
FALLING_BLOCK | 掉落中的方块(一般为沙子) |
FOX | 狐狸 |
GHAST | 恶魂 |
GIANT | 巨人 |
GUARDIAN | 守卫者 |
HOGLIN | 疣猪 |
HORSE | 马 |
HUSK | 尸壳 |
ILLUSIONER | 幻术师 |
IRON_GOLEM | 铁傀儡 |
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 | 北极熊 |
RABBIT | 兔子 |
SALMON | 鲑鱼 |
SHEEP | 羊 |
SILVERFISH | 蠹虫 |
SKELETON | 骷髅 |
SKELETON_HORSE | 骷髅马 |
SHULKER | 潜影贝 |
SLIME | 史莱姆 |
SNOWMAN | 雪傀儡 |
SPIDER | 蜘蛛 |
STRIDER | 炽足兽 |
STRAY | 流髑 |
SQUID | 鱿鱼 |
TROPICAL_FISH | 热带鱼 |
TRADER_LLAMA | 行商羊驼 |
TURTLE | 海龟 |
VILLAGER | 村民 |
VINDICATOR | 卫道士 |
WANDERING_TRADER | 流浪商人 |
WITCH | 女巫 |
WITHER | 凋灵 |
WITHER_SKELETON | 凋灵骷髅 |
WOLF | 狼 |
ZOGLIN | 僵尸疣猪 |
ZOMBIE | 僵尸 |
ZOMBIE_HORSE | 僵尸马 |
ZOMBIE_VILLAGER | 僵尸村民 |
</spoiler>
Type: zombie Type: SKELETON
名字显示(Display)
- 生物头上所显示的名字
- 支持颜色代码和变量
- 必须填写在撇号'内'
- 若想名字内显示'撇号,可以使用'的变量代码<&sq>
Display: 'Super Zombie' Display: '&eSuper Zombie' Display: '&cSuper Zombie&r - <mob.level>'
基础属性
基础属性 |
---|
然而Spigot有2048的最大限制,可在spigot.yml内修改 Health: 200
Damage: 10 在4.9+: <spoiler>
Type: COW DamageModifiers: - LIGHTNING 0.1 - FIRE 2.0 - AIR 1.0 - ICE 0.5 Skills: - message{m="Damaged by <skill.var.damage-type> for <skill.var.damage-amount>"} @PIR{r=50} ~onDamaged
damage{amount=10;element=ICE} @target ~onAttack
</spoiler>
Armor: 7 |
Boss血条(BossBar)
- 需要前置插件BossBar
- 像末影龙那样显示生物的血条在屏幕上方
详解 |
---|
鲲鲲: Type: <mobtype> BossBar: Enabled: [true/false] Title: '[name]' Range: [range] Color: [color] Style: [style] CreateFog: [true/false] DarkenSky: [true/false] PlayMusic: [true/false]
鲲鲲: Type: creeper BossBar: Enabled: true Title: '咱是baka' Range: 20 Color: RED Style: SOLID |
派别(Faction)
- 设置生物所属的派别,主要用于编辑AI或技能的攻击目标
- 区分大小写,识别字母和数字(还有下划线?)
Faction: SuperZombies Faction: super_zombies
骑乘(Mount)
- 设置生物骑乘,骑乘必须为MM生物
- 设置完后,生物生成时便会召唤并骑乘
Mount: 鲲鲲
选项(Options)
- 修改或给予生物一系列的可修改项,如是否消失、击退抗性、跟踪范围、移动速度等(有很多哦...)
鲲鲲: Type: skeleton Display: '跑得非常快且受伤间隔为3秒的鲲鲲' Options: MovementSpeed: 0.3 NoDamageTicks: 50
选项详解
选项为粗体蓝色表示MM4.9+新增选项 选项为粗体深蓝色表示MM4.10+新增选项
生物名为深蓝色表示1.15新增生物 生物名为蓝色表示1.13新增生物
生物名为粗体蓝色表示1.14新增生物 生物名为粗体深蓝色表示1.16新增生物
选项为蓝色表示MM4.8新增选项
<spoiler>
通用选项(Universal options) | ||
---|---|---|
项 | 参数 | 备注 |
AlwaysShowName | [true/false] |
|
AttackSpeed | [数值] |
|
ApplyInvisibilit | [数值] |
|
Collidable | [true/false] |
|
Despawn | [true/false] |
|
FollowRange | [value] |
|
Glowing | [true/false] |
|
Invincible | [true/false] |
|
KnockbackResistance | [数值] |
|
LockPitch | [[true/false]] |
|
MaxCombatDistance | [数值] |
|
MovementSpeed | [数值] |
|
NoAI | [true/false] |
|
NoDamageTicks | [数值] |
|
NoGravity | [true/false] |
|
Persistent | [true/false] |
|
PreventItemPickup | [true/false] |
|
PreventJockeyMounts | [true/false] |
|
PreventLeashing | [true/false] |
|
PreventMobKillDrops | [true/false] |
|
PreventOtherDrops | [true/false] |
|
PreventRandomEquipment | [true/false] |
|
PreventSunburn | [true/false] |
|
PreventTransformationPreventSunburn | [true/false] |
|
PreventRenaming | [true/false] |
|
RepeatAllSkills | [true/false] |
|
ShowHealth | [true/false] |
|
Silent | [true/false] |
|
特定设置
盔甲架(Armor Stands) | ||
---|---|---|
项 | 参数 | 备注 |
canMove | [true/false] | 盔甲架是否能被活塞推动
|
cantick | [true/false] | 盔甲架是否能被标记
|
HasArms | [true/false] | 盔甲架是否有手
|
HasBasePlate | [true/false] | 盔甲架是否底座
|
HasGravity | [true/false] | 盔甲架是否受重力影响
|
Invisible | [true/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] | 是否为小型盔甲架
|
Pose Head Body LeftArm RightArm LeftLeg RightLeg |
[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] | 是否为鸡骑士
|
幻翼(Phantom) | ||
---|---|---|
项 | 参数 | 备注 |
Size | [数值] | 幻翼的大小
|
熊猫(Pandas) | ||
---|---|---|
项 | 参数 | 备注 |
MainGene | [基因名] | 主要基因
|
HiddenGene | [基因名] | 隐性基因
|
狐狸(Foxes) | ||
---|---|---|
项 | 参数 | 备注 |
FoxType | [red/snow] | 狐狸种类(红狐狸/雪狐狸)
|
猫(Cats) | ||
---|---|---|
项 | 参数 | 备注 |
OcelotType | [red/snow] | 猫种类(/)
|
掉落的方块(Falling Block) | ||
---|---|---|
项 | 参数 | 备注 |
Block | [方块种类] | 设定方块的种类
|
BlockData | [数值] | 方块的附加值
|
DropsItem | [true/false] | 是否掉落物品
|
HurtsEntities | [true/false] | 是否伤害实体
|
爬行者(Creepers) | ||
---|---|---|
项 | 参数 | 备注 |
ExplosionRadius | [数值] | 爆炸范围 |
FuseTicks | [数值] | 引爆时间(刻) |
SuperCharged | [true/false] | 是否为充能爬行者
|
PreventSuicide | [true/false] | 爆炸后是否不死亡
|
末影人(Endermen) | ||
---|---|---|
项 | 参数 | 备注 |
PreventTeleport | [true/false] | 是否阻止其传送
|
|}
疣猪兽(Hoglin) | ||
---|---|---|
项 | 参数 | 备注 |
PreventZombification | [true/false] | 是否防止僵尸化
|
马(Horses) | ||
---|---|---|
项 | 参数 | 备注 |
HorseArmor | [armor_type] | 马铠的种类
|
HorseCarryingChest | [true/false] | 是否背载箱子
|
HorseColor | [horse_color] | 马的颜色
|
HorseSaddled | [true/false] | 是否装备上鞍
|
HorseStyle | [horse_style] | 马的皮肤纹路
|
HorseTamed | [true/false] | 是否被驯化
|
HorseType | [type] | 马的种类
|
豹猫(Ocelots) | ||
---|---|---|
项 | 参数 | 备注 |
Ocelot | [type] | 豹猫的种类
|
猪(Pigs) | ||
---|---|---|
项 | 参数 | 备注 |
Saddled | [true/false] | 是否装备上鞍
|
猪灵(Piglin) | ||
---|---|---|
项 | 参数 | 备注 |
Abletohunt | [true/false] | 是否可以打猎
|
ImmuneToZombification | [true/false] | 是否允许转化为僵尸猪人
|
兔子(Rabbits) | ||
---|---|---|
项 | 参数 | 备注 |
RabbitType | [rabbit_type] | 兔子的种类
|
Baby | [true/false] | 是否为小兔子
|
蠹虫(Silverfish) | ||
---|---|---|
项 | 参数 | 备注 |
PreventBlockInfection | [true/false] | 阻止其影响方块
|
雪傀儡(Snowmen) | ||
---|---|---|
项 | 参数 | 备注 |
PreventSnowFormation | [true/false] | 阻止其生成雪片
|
TNT | ||
---|---|---|
项 | 参数 | 备注 |
FuseTicks | [数值] | 引爆时间(刻)
|
ExplosionYield | [数值] | 爆炸的强度
|
Incendiary | [true/false] | 爆炸是否点燃物品
|
热带鱼(Tropical Fish) | |||||
---|---|---|---|---|---|
项 | 参数 | 备注 | |||
Pattern(身体形状) | [种类] | 设置鱼的外形
|
BodyColor(身体颜色) | [颜色] | 设置鱼的身体颜色
|
ExplosionYield | [数值] | 爆炸的强度
| |||
Incendiary | [true/false] | 爆炸是否点燃物品
|
村民(Villagers) | ||
---|---|---|
项 | 参数 | 备注 |
VillagerType | [type] | 村民的职业
|
僵尸类(Zombies) | ||
---|---|---|
项 | 参数 | 备注 |
ReinforcementsChance | [数值] | 增援几率
|
僵尸村民(Zombie Villagers) | ||
---|---|---|
项 | 参数 | 备注 |
Profession | [type] | 僵尸村民的职业
|
特定类设置
可繁殖类(Breedable mobs) | ||
---|---|---|
项 | 参数 | 备注 |
Age | [数值] | 确定生物的岁数
|
AgeLock | [true/false] | 是否锁定岁数
|
可染色类(Colorable Mobs) 用于羊和狼 | ||
---|---|---|
项 | 参数 | 备注 |
Color | [数值] | 修改羊毛或项圈的颜色
|
中立类(Neutral mobs)用于狼和猪人 | ||
---|---|---|
项 | 参数 | 备注 |
Angry | [true/false] | 生成时是否被激怒
|
蜜蜂(Bee) | ||
---|---|---|
项 | 参数 | 备注 |
Anger | [true/false] | 是否愤怒 |
HasStung | [true/false] | 是否已攻击过生物
|
HasNectar | [true/false] | 是否有花蜜
|
史莱姆一族(Slimes & Magma Cubes) | ||
---|---|---|
项 | 参数 | 备注 |
PreventSlimeSplit | [true/false] | 是否阻止其进行分裂 |
Size | [数值] | 史莱姆的大小
|
铁傀儡(Iron Golem) | ||
---|---|---|
项 | 参数 | 备注 |
playerCreated | [true/false] | 是否由玩家创造
|
雪傀儡(Snowman) | ||
---|---|---|
项 | 参数 | 备注 |
DERP | [true/false] | 雪傀儡的南瓜头是否被剪下
|
村民(Villager) | ||
---|---|---|
项 | 参数 | 备注 |
HasTrades | [true/false] | 村民是否可以交易
|
</spoiler>
姿势(Pose)
- 修改盔甲架的姿势
Head: X,Y,Z#头部 Body: X,Y,Z#身体 LeftArm: X,Y,Z#左手臂 RightArm: X,Y,Z#右手臂 LeftLeg: X,Y,Z#左腿 RightLeg: X,Y,Z#右腿
模块(Modules)
- 设置启用/禁用威胁度(Threat Tables)和伤害硬直(Immunity Tables)模块
威胁度(Threat Tables)
<spoiler>
威胁度用于控制生物的攻击目标。一般情况下原版的生物只会单纯地以最后一个伤害源为攻击目标。
若是启用威胁度,生物便会记录各玩家对他所造成的伤害,并因此选择累计造成伤害最高的玩家为攻击目标。从而避免生物两头跑被调戏的尴尬局面。
威胁度的几个内置功能让生物的目标选择能力看起来更聪明,并遵从一般MMORPG游戏下的规则。玩家通过造成伤害提升对生物的威胁度,若是远离BOSS便会降低威胁度。
一段时间内超过生物的最大攻击范围(MaxCombatRange),离开当前世界,或退出游戏的话也会降低其威胁度。
生物只会在新的威胁度超过当前攻击目标威胁度的110%时才会改变攻击目标。
注意-启用威胁度的生物会无视AITargetSelectors下的设置。并且,启用的生物会尝试攻击任何对他造成伤害的实体。
启用办法:ThreatTable后面设为true
鲲鲲: Type: zombie Display: '&6Zombie' Health: 20000 Modules: ThreatTable: true
威胁度的计算是全自动进行的。若想特意修改生物对某目标的威胁度,可通过Threat技能进行修改。
威胁度还拥有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+,你可以自定义村民交易,请注意,村民必须要有职业才能进行交易,有的交易可能需要让村民达到一定的交易等级
栗子 |
---|
鲲鲲: 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教程示例
第一个教学:目标,对象,派别 |
---|
坏鲲鲲: Mobtype: skeleton Display: '&a一只坏鲲鲲!' Health: 15 Damage: 1 Faction: Undead AIGoalSelectors: - 0 clear - 1 arrowattack AITargetSelectors: - 0 clear - 1 players Options: FollowRange: 10 MovementSpeed: 0.2 PreventOtherDrops: true
坏鲲鲲: Mobtype: skeleton Display: '&a又是一只坏鲲鲲!' Health: 15 Damage: 1 Faction: 笨蛋鲲 AIGoalSelectors: - 0 clear - 1 meleeattack AITargetSelectors: - 0 clear - 1 hurtbytarget - 2 otherfactionmonsters Equipment: - COS_WoodSword:0 Options: FollowRange: 10 MovementSpeed: 0.2 PreventOtherDrops: true
|
示例1:双面鲲鲲 |
---|
好鲲鲲: 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
好鲲鲲: Mobtype: skeleton Display: '&E好鲲鲲' Health: 500 Damage: 5 Equipment: - 斯哈斯哈:0 Faction: 鲲鲲 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
坏鲲鲲: Mobtype: skeleton Display: '&a坏鲲鲲' 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
|
示例2:好鲲鲲vs坏鲲鲲 |
---|
好鲲鲲: Mobtype: villagez Display: '&a好鲲鲲' Health: 50 Damage: 4 Faction: 好鲲鲲派系 AIGoalSelectors: - 0 clear - 1 opendoors - 2 meleeattack AITargetSelectors: - 0 clear - 1 hurtbytarget - 2 specificfactionmonsters 坏鲲鲲派系 - 3 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: - 0 clear - 1 opendoors - 2 meleeattack AITargetSelectors: - 0 clear - 1 hurtbytarget - 2 specificfactionmonsters 好鲲鲲派系 - 3 players Equipment: - 坏鲲鲲头盔:4 - 坏鲲鲲胸甲:3 - 坏鲲鲲护腿:2 - 坏鲲鲲靴子:1 - 坏鲲鲲斧:0 Skills: - skill{s=坏鲲鲲突击} @target ~onAttack >0 0.25 Options: Despawn: true FollowRange: 10 AlwaysShowName: false MovementSpeed: 0.25 PreventOtherDrops: true PreventItemPickup: true KnockbackResistance: 0.4 PreventMobKillDrops: true
|
行动选择器(AIGoalSelectors)
行动选择器,顾名思义规定生物的行动。若生物自身没有此项基本行动就不会对其产生作用。例如,僵尸不会也不能吃草(EatGrass)。
选择器配置栗子 |
---|
鲲鲲: Type: zombie Health: 200 Display: '鲲鲲' AIGoalSelectors: - 0 clear - 1 meleeattack - 2 randomstroll 这只鲲鲲除了会攻击玩家,还会在没有攻击目标时随意走动。 |
所有可用的行动选择器 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
目标选择器(AITargetSelectors)
目标选择器,顾名思义设置生物的目标对象。
目标选择器栗子 |
---|
鲲鲲: Type: zombie Health: 200 Display: '鲲鲲' AIGoalSelectors: - 0 clear - 1 meleeattack - 2 randomstroll AITargetSelectors: - 0 clear - 1 players - 2 golems |
所有可用的目标选择器 |
---|
====所有生物(All Creatures)====
派别相关(Faction Support)
AITargetSelectors: - 1 SpecificFaction undead 限制生物只以undead派的生物为目标 可驯服类(Tameable Creatures)
|
伤害调整(DamageModifiers)
- 为生物增加伤害抗性
- 比如..免疫近伤,但受到弹射物伤害加倍...
伤害类型列表 | |
---|---|
修改项 | 描述 |
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 | 触碰仙人掌 |
栗子 |
---|
注意:设置为1的话就是受到全数伤害 高于1就会受到比原本多的伤害 低于1就是减少等值伤害 0为免疫此伤害 设为负数值的话就会进行回血,但若此生物原本就免疫此伤害就不凑效(比如铁傀儡免疫摔伤,烈焰人免疫烧伤/岩浆) 鲲鲲: Mobtype: zombie Display: '&a鲲鲲' Health: 40 Damage: 6
鲲鲲: Mobtype: zombie Display: '&a鲲鲲' Health: 40 Damage: 6 DamageModifiers: - ENTITY_ATTACK 0.75 - PROJECTILE 0.75
鲲鲲: Mobtype: zombie Display: '&a鲲鲲' Health: 40 Damage: 6 DamageModifiers: - ENTITY_ATTACK 0.75 - PROJECTILE 0.75 - MAGIC 1.25
不适用于下界生物,因为他们自身免疫火焰伤害导致伤害调整不可修改 鲲鲲: Mobtype: zombie Display: '&c鲲鲲' Health: 20 DamageModifiers: - FIRE -1 - LAVA -4 - FIRE_TICK 0 |
装备(Equipment)
- 给予生物生成时装备上原版或MM物品/装备
- 装备只会在其生成时装备上,之后可以被如Equip技能更改,同时生成时装备会带有穿上物品的声音
- 使用PreventRandomEquipment,防止生物生存时携带随机物品,详见Options
或为其装备上空气(AIR/0)
装备配置栗子 |
---|
鲲鲲: Type: <生物类型> Equipment: - <物品名>:<槽位> - <物品名>:<槽位> - ...
|
点击下面的"折叠"展开槽位列表
槽位列表 | |
---|---|
槽 | 描述 |
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!' Skills: ...
小技巧
鲲鲲: Type: zombie Display: '鲲鲲' KillMessages: - '' |
等级调整值(LevelModifiers)
- 生物的等级是一个比较有用的功能。等级的上升意味着其威力的提升,同时还能因其掉落更多的物品
- 或者,更通过修改设置可以使其根据自身等级掉落完全不同的物品,使用不同的技能,又或者生成于不同的地方(使用spawners和randomspawns)
- 生物的等级可被世界范围(见下),随机生成,或技能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
|
属性列表 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
世界范围(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 | 僵尸村民 |
伪装可修改项 | |
---|---|
项 | 描述 |
Disguise.Burning: true | 被点燃特效 |
Disguise.Blocking: true | 被方块窒息效果 |
Disguise.Invisible: true | 隐身 |
Disguise.ShowName: true | 显示一般不会显示的名字,如掉落物或方块的名字 |
Disguise.Sneaking: true | 按下shift的潜行动作 |
Disguise.Sprinting: true | 冲刺动作 |
Disguise.ModifyBoundingBox: false | 保留/使用原有的碰撞箱大小 |
Disguise.Name: 名字 | 伪装后显示的名字 |
Disguise.Glowing: true | 发光药水效果 |
Disguise.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 |
技能(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: - 技能名字{ 技能修改项=数值; 技能修改项=数值; 技能修改项=数值; }
Skills: - ignite{ticks=100} 技能目标(Targeters)
Skills: - 技能名字{技能修改项=数值} @技能目标{目标修改项=数值}
Skills: - ignite{ticks=100} @target
Skills: - ignite{ticks=100} @PlayersInRadius{r=5}
触发条件(Triggers)
Skills: - 技能名字{技能修改项=数值} @技能目标{目标修改项=数值} ~on激活时
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%时都可触发
Skills: - ignite{ticks=100} @target ~onAttack <50% 几率(Chance)
Skills: - ignite{ticks=100} @target ~onAttack <50% 0.5 |
特殊符号
<spoiler>
变量 | 描述 |
---|---|
<&co> | 返还冒号 : |
<&sq> | 返还撇号 ' |
<&da> | 返还减号 - |
<&bs> | 返还反斜杠 \ |
<&fs> | 返还斜杠 / |
<&sp> | 返还空格 |
<&cm> | 返还逗号 , |
<&sc> | 返还分号 ; |
<&eq> | 返还等号 = |
<&ss> | 返还分节符 § |
<&dq> | 返还双引号 " |
<&rb> | 返还右方括号 ] |
<&lb> | 返还左方括号 [ |
<&rc> | 返还右大括号 } |
<&lc> | 返还左大括号 { |
<&nl> | 另起新的一行 |
<&heart> | 返还一个爱心符号(2.1.7) |
<&skull> | 返还一个骷髅骨头符号(2.1.7) |
</spoiler>
颜色代码
可使用于生物或技能下,也能用于tellraw命令下
- 在部分MM Support版本被§所替代!
<spoiler>
变量 | 描述 |
---|---|
&0 | 黑色 |
&1 | 深蓝色 |
&2 | 深绿色 |
&3 | 深水蓝色 |
&4 | 深红色 |
&5 | 深紫色 |
&6 | 金色 |
&7 | 灰色 |
&8 | 深灰色 |
&9 | 蓝色 |
&a | 绿色 |
&b | 水蓝色 |
&c | 红色 |
&d | 浅紫 |
&e | 黄色 |
&f | 白色 |
&K | 乱码 |
&L | 加粗 |
&M | 删除线 |
&N | 下划线 |
&O | 斜体 |
&R | 颜色代码重置/清空 |
</spoiler>
条件要求(Conditions)
点击跳转至->条件列表:条件列表
恭喜你发现了彩蛋!
鲲鲲:感谢CHuNan帮忙搬运QWQ
CHuNan:其实我就是个打酱油的
点击此处隐藏彩蛋
目标选择器
目标用于确定技能释放的对象。
目标总是必需的(否则生物不知道攻击谁),忘记目标大概是新接触 MythicMobs 的人最常犯的错误了。
如果在一个复杂技能使用了目标器,那么所有里面的技能的目标都会继承父目标。需要注意的是,大量使用目标可能造成服务器性能的影响。当然,你可以覆写父类目标,将复杂技能里的每个技能都分配单独的目标,甚至有一大堆目标一起工作的非常优秀的例子。
目标既可以复杂也可以简单,全看你想怎样! <spoiler>
单生物目标
目标 | 描述 |
@Self | 将自身作为目标 |
@Target | 将生物当前的攻击目标作为目标 |
@Trigger | 将触发技能的生物作为目标 |
@NearestPlayer | 将最近的玩家作为目标 |
@WolfOwner | 将狼的主人作为目标 |
@Owner | 将生物的主人作为目标 |
@Mount | 将骑乘着的生物作为目标 |
多生物目标
目标 | 缩写 | 描述 |
@LivingEntitiesInRadius{r=半径} | 将半径内的生物作为目标 | |
@PlayersInRadius{r=半径} | @PIR{r=半径} | 将半径内的玩家作为目标 |
@MobsInRadius{r=半径;types=A,B,C} | @MIR{r=半径;t=指定生物} | 将半径内的生物作为目标,type必须要写 |
@EntitiesInRadius{r=半径;types=A,B,C} | @EIR{r=半径;t=指定生物} | 将半径内的所有实体作为目标,type必须要写 |
@PlayersInWorld | @World | 将当前世界所有玩家作为目标 |
@PlayersOnServer | @Server | 将服务器内的所有玩家作为目标 |
@PlayersInRing{min=内圈半径;max=外圈半径} | 将环内的所有玩家作为目标 | |
@PlayersNearOrigin{r=半径} | 将生效目标/投射物落点半径内的玩家作为目标 | |
@MobsNearOrigin{r=半径;t=指定生物} | 将生效目标/投射物落点半径内的生物作为目标 | |
@EntitiesNearOrigin{r=半径} | 将生效目标/投射物落点半径范围内的所有实体作为目标 |
威胁表目标
这些目标只有在威胁表启用时可用
目标 | 缩写 | 描述 |
@RandomThreatTarget | @RTT | 将威胁表内的随机一名玩家作为目标 |
@ThreatTable | @TT | 将所有威胁表内的生物作为目标 |
@ThreatTablePlayers | 将威胁表内的所有玩家作为目标 |
坐标目标
单坐标目标
目标 | 缩写 | 描述 |
@SelfLocation | 生物自己的坐标 | |
@TargetLocation | 生物目标的坐标 | |
@TriggerLocation | 将触发技能的生物的坐标作为目标 | |
@Location{c=x,y,z} | 指定坐标作为目标 | |
@Origin | 将发射物的发射者的坐标作(不一定是生物)为目标 | |
@Spawner{s=刷怪点名} | 将刷怪点的坐标作为目标 | |
@RLNTE{amount=数量;radius=半径;spacing=各点距离;minradius=最小半径} | 选择生物周围随机的坐标点作为目标 |
多坐标目标
目标 | 缩写 | 描述 |
@PlayerLocationsInRadius{r=半径} | @PLIR{r=半径} | 将半径内的所有玩家的坐标作为目标 |
@Ring{radius=半径;points=#} | 选择范围圆环内的目标点 | |
@Cone{angle=扇形角度;points=点数;range=范围;rotation=起始点角度;} | 选择一个扇形作为目标点组 | |
@EntitiesInCone{angle=点数;range=范围;rotation=起始点角度;} | 选择扇形内的所有生物 |
特殊目标
有一些目标只能用于技能内部
鲲鲲: Type: creeper Display: '鲲鲲' Health: 12 AITargetSelectors: - 0 clear - 1 players Skills: - skill{s=鲲鲲} @target 鲲鲲: Skills: - ignite @line{r=1}
鲲鲲会点燃目标和生物之间的一切生物
目标 | 缩写 | 描述 |
@Line{radius=半径;fromorigin=true/false} | @Line{r=半径;fo=true/false} | 将目标和生物之间的连线的所有坐标点作为目标 |
@EntitiesInLine{radius=半径;fromorigin=true/false} | @EIL{r=半径;fo=true/false} | 将目标与生物间连线上的所有生物作为目标 |
原版目标,在1.13+中全部过时
这些目标会像 Minecraft 命令中的目标选择器一样工作。这些目标可能极其复杂冗长,但也可以很简单。这些拓展都包围在[ ]里,包含了可能的半径、数量、游戏模式、计分板分数、队员、生物种类、经验等级、目标等等。 请注意,因为一个BUG,原版的目标选择器搭配 MythicMobs 使用,有可能没有最小半径和半径参数,这将导致没有任何目标被选中。以后的 MythicMobs 版本不再能选择非同一世界的目标。
目标选择器 | 描述 |
@p | 选择最近的玩家 |
@a | 选择所有玩家 |
@r | 选择随机玩家 |
@e | !选择所有实体 |
参数 | 描述 |
x=X, y=Y, z=Z | 坐标。如果给出了这些属性,那么目标会以此作为基准 |
r=R | 最大半径,必须设置坐标 |
rm=RM | 最小半径 |
m=M | 游戏模式。目标处于的游戏模式 0 = 生存, 1 = 创造, 2 = 冒险, 3 = 旁观 |
c=C | 最大数量的生物,正数尝试选择最近的,负数则是最远的 |
l=L | 最大等级,会尝试选择最高的 |
lm=LM | 最小等级 |
score_<obj>=SCORE | 最大计分板分数 |
score_<obj>_min=SCORE | 最小计分板分数 |
team=TEAM | 是“TEAM”队伍的成员 |
team=!TEAM | 不是“TEAM”队伍的成员 |
name=NAME | 名称必须为“NAME” |
name=!NAME | 名称必须不为“NAME” |
dx=DX, dy=DY, dz=DZ | 体积尺寸,选择长方形区域 |
rx=RX | 最大垂直旋转角 |
rxm=RXM | 最小垂直旋转角 |
ry=RY | 最大水平旋转角 |
rym=RYM | 最小水平旋转角 |
type=TYPE | 目标必须为“TYPE”型生物 |
type=!TYPE | 目标必须不是“TYPE”型生物 |
tag=TAG | 目标必须拥有“TAG”计分板标签 |
tag=!TAG | 目标必须没有“TAG”计分板标签 |
示例
- @p[lm=10]
- 选择最近经验大于10级的玩家
- @a[r=10]
- 选择所有10格内的玩家
- @a[r=10,c=3]
- 选择10格内最近的3个玩家
- @a[r=10,c=2,lm=10]
- 选择10格内的经验大于10级的最近的2个玩家
- @a[r=10,score_ASD=1]
- 选择10格内的计分板 ASD 最大为1的所有玩家
- @a[r=12,score_ASD_min=2]
- 选择10格内的计分板 ASD 最小为2的所有玩家
可能性非常之多! </spoiler>
目标过滤器
目标过滤器允许你过滤掉现有的目标,让目标选择器更加灵活 可以使用两个选项(可用任何生物目标):
- ignore=X
- target=X
举个例子,过滤掉所有的玩家和动物,可以这样做:
damage{a=20} @EntitiesInRadius{r=10;ignore=players,animals}
让目标只选择玩家,可以这样:
skill{s=ASkill} @EntitiesInRadius{r=5;target=players}
可用的过滤器: <spoiler>
值 | 说明 |
---|---|
animals | 非敌人生物 |
creative | 创造模式,默认忽略 |
creatures | 任何生物 |
flyingmobs | 飞行生物 |
monsters | 敌对生物 |
NPCs | NPC |
players | 玩家 |
samefaction | 同派系生物 |
spectators | 旁观者,默认忽略 |
watermobs | 水中生物 |
vanilla | 非 MythicMobs 生物 |
</spoiler>
目标数量限制器
所有实体目标现在都支持目标限制,通过此功能,您可以限制目标的数量,包括选择目标的顺序. 可以使用两个选项(可用任何生物目标):
- limit=数量
- sort=排序类型
举个例子,假设你想在30米内选择2个最近的玩家,您只需将limit的数量设置为2并将soft设置为按NEAREST(最近优先)的顺序排序: @PlayersInRadius{r=30;limit=2;sort=NEAREST} 可填写以下值 <spoiler>
值 | 说明 |
---|---|
NONE | 以实体的存活时间排序 |
RANDOM | 随机 |
NEAREST | 以实体离自身距离排序,近者优先 |
FURTHEST | 以实体离自身距离排序,近者优先 |
</spoiler>
目标生命/威胁数量选择器
可填写以下值 <spoiler>
值 | 说明 |
---|---|
HIGHEST_HEALTH | 最高生命 |
LOWEST_HEALTH | 最高生命 |
HIGHEST_THREAT | 最大威胁 |
LOWEST_THREAT | 最小威胁 |
</spoiler>
@ThreatTablePlayers{sort=HIGHEST_THREAT;limit=5}
选中5个威胁最高的玩家
随机附近目标选择器
@RandomLocationsNearTargets 随机选中自身附近的一个实体
触发器
触发器决定了什么时候技能被触发。
可用的所有触发器 | |
---|---|
触发器 | 何时触发... |
onCombat | 默认 |
onAttack | 当生物攻击 |
onDamaged | 当生物受到伤害 |
onSpawn | 当生物生成 |
onDeSpawn | 当生物非因死亡而消失(添加于4.6.x) |
onFirstSpawn | 当生物第一次从刷怪点出生时 |
onDeath | 当生物死亡 |
onTimer:# | 每 # ticks |
onInteract | 当生物被右键 |
onKillPlayer | 当生物击杀玩家 |
onPlayerDeath | 当玩家死亡 |
onEnterCombat | 当生物开始战斗(需要开启威胁表) |
onDropCombat | 当生物停止战斗(需要开启威胁表) |
onChangeTarget | 当生物改变目标(需要开启威胁表) |
onExplode | 当生物爆炸(经常只用于爬行者) |
onTeleport | 当生物传送(经常只用于末影人) |
onSignal | 当生物接收到信号 |
onShoot | 当生物射击 |
onSignal:[i][signal][/i] | 当生物接收到特定信号 |
使用触发器
示例 |
---|
Skills: - ignite{ticks=100} @target ~onAttack - skill{s=鲲鲲Shield} @trigger ~onDamaged 0.1 - skill{s=AOE鲲鲲} ~onTimer:300 在这个栗子里,生物将目标点燃5秒,受伤使用 鲲鲲Shield 每15秒使用 AOE鲲鲲 技能。 Skills: - onDamaged{ auraName=测试;d=200; onTick=[ - particles{p=flame;amount=10;hS=0.4} ]; damageMods="FIRE 0.5"} @self ~onInteract 生物被右键时自身获得持续10秒名为'测试'的光环,期间受到FIRE类型的伤害减半,并不断释放火焰粒子,这个栗子是新技能写法 |
4.8.0+的触发器技能 |
---|
鲲鲲: Type: Zombie Skills: - skill{s=鲲鲲} @self ~onDamaged 鲲鲲: Skills: - onDamaged{ auraName=damageResist;d=200; onTick=[ - particles{p=flame;amount=10;hS=0.4} ]; damageMods="FIRE 0.5"} @self ~onInteract 在这个例子里,当鲲鲲受伤的时候激活鲲鲲这个技能,鲲鲲会获得名为"damageResist"的光环持续10秒,并在持续期间不断释放火焰粒子,并在自身被右键的时候免去一半火焰类型的伤害. |
不使用触发器....
若不写触发器,它会默认为onCombat,既生物受伤/攻击/出生/死亡都会触发技能
Skills: - skill{s=鲲鲲} =10%-90%
生物血量在最大生命值的10-90%之间受伤/攻击会触发 鲲鲲 技能,。
@trigger 目标选择器
不同于@target,@target选择的是施法者的目标,而@trigger会选择令施法者激活触发器的目标,栗子,施法者在追玩家B,玩家A伤害了施法者,且施法者使用了触发器onDamage,那么技能的目标会是玩家A,如果目标选择器写@target,那么目标会是玩家B,触发器onSignal也支持这个目标选择器
详细信息 & 示例
<spoiler>
- ~onSpawn
- 当生物生成触发技能
- 只会触发一次
- 可以与几率参数一同使用
- - skill{s=鲲鲲} ~onSpawn 0.50 (生物出生时有 50% 使用 鲲鲲 技能)
- ~onDeath
- 生物死亡时触发技能
- 只会触发一次
- 可以与几率参数一同使用
- - skill{s=鲲鲲} ~onDeath 1 (生物死亡时 100% 使用 鲲鲲 技能)
- ~onDeSpawn
- 当生物消失时触发技能
- 只会触发一次
- 可以与几率参数一同使用
- - skill{s=鲲鲲} ~onDeSpawn (生物消失时必定使用鲲鲲 技能)
- ~onAttack
- 当生物攻击时触发技能
- 在生物攻击什么东西时触发
- 可以与生命和几率参数一同使用
- - skill{s=鲲鲲} ~onAttack <50% 0.1 (当生物在 50% 血以下时,攻击有 10% 几率使用 鲲鲲 技能)
- ~onDamaged
- 当生物受到伤害时触发
- 可以与生命和几率参数一同使用
- - skill{s=鲲鲲} ~onDamaged 1 (当生物受到伤害必定使用 鲲鲲 技能)
- ~onExplode
- 生物爆炸时触发技能
- 除非你设置了 PreventSuicide 选项,否则只会触发一次。基本上只在爬行者使用,因为其他生物看起来不会爆炸...
- 可以与几率参数一同使用
- - skill{s=鲲鲲} ~onExplode 0.25 (生物在爆炸时有 25% 的几率使用 鲲鲲 技能)
- ~onTeleport
- 当生物传送时触发技能
- 可以与生命和几率参数一同使用
- - skill{s=鲲鲲} ~onTeleport <50% 1 (生物在传送时必定使用鲲鲲 技能,并且需要血量少于 50%)
- ~onTimer:<ticks>
- 基于计时器触发技能
- ticks 作为单位
- 不建议使用几率和生命参数
- - skill{s=鲲鲲} ~onTimer:200' (每10秒使用 鲲鲲 技能)
- ~onPlayerKill
- 当击杀玩家时触发技能
- 可以与生命和几率参数一同使用
- - skill{s=鲲鲲} ~onPlayerKill >0 1 (当生物击杀玩家,必定使用 鲲鲲 技能)
- ~onEnterCombat
- 当生物开始战斗时触发技能
- - skill{s=鲲鲲} ~onEnterCombat >0 1 (当生物开始战斗,必定使用 鲲鲲 技能)
- ~onDropCombat
- 当生物停止战斗时触发技能
- - skill{s=鲲鲲} ~onDropCombat >0 1 (当生物停止战斗,必定使用 鲲鲲 技能)
- ~onTargetChange
- 当生物改变目标时触发技能
- - skill{s=鲲鲲} ~onTargetChange >0 1 (当生物改变目标,必定使用 鲲鲲 技能)
- ~onInteract
- 当生物被右键时触发技能
- - skill{s=鲲鲲} ~onInteract >0 1 (当生物被右键时,必定使用 鲲鲲 技能)
- ~onSignal 或 ~onSignal:信号
- 在生物收到特定信号后触发技能
</spoiler>
物品(Items)
概览
在 MythicMobs 里制作自定义物品是相当简单的。不像生物和技能,这个插件的物品没有特殊或独一无二的选项。任何通过 MythicMobs 制作的物品都可以使用原版命令制造出来,不过使用 MythicMobs 制作物品来的更加舒服一些。 以下的这些选项里,只有 internal_itemname 和 Id 是必需的。所有其他的选项都是完全可选的。
- 注意,在4.9.0,mm item import 物品 yml指令最好不要用,其存入的格式无法被MM所读取!请用下面的格式
- 在4.9.1,前面提到的import Bug已经修复!
物品配置栗子 |
---|
鲲鲲: Id: Data: Display: Attributes: Amount: Options: Enchantments: Lore: PotionEffects: BannerLayers: |
拆开所有的选项来看
<spoiler>
- internal_itemname:
- 用于给 MythicMobs 参考,想叫什么叫什么
- 必须为字母数字,并且大小写敏感
- Id:
- 设置物品的种类
- 可以是 Bukkit 材料名称或是物品 ID
- 见常用物品 ID
- Data:
- 设置物品数据
- 用于物品的耐久和方块种类
- Display: '[名称]'
- 设置物品名称
- 可以使用技能|变量
- 必须使用单引号包围
- 可以使用16进制颜色代码来代替颜色符号§或&<#FFFFFF>
- 可以使用渐变,颜色需使用16进制代码,格式为<gradient:#颜色1:#颜色2>文本</gradient>
- 可以使用彩色字<rainbow>文本</rainbow>
- Attributes:
- 设置物品的属性,见下物品属性
- Amount:
- 设置物品的数量
- Options:
- 这是一个特殊的子选项,提供了大量的附加属性
- 见物品选项
- Hide: 在 2.4 中添加
- 允许隐藏特定的属性
- “ATTRIBUTES”, “ENCHANTS”, “DESTROYS”, “PLACED_ON”, “POTION_EFFECTS” 和 “UNBREAKABLE”.
- 示例
Hide: - ATTRIBUTES - UNBREAKABLE
- Enchantments:
- 添加物品附魔
- 任何种类的物品都可以有附魔
- 见附魔
- Lore:
- 添加 lore 到物品
- 可以使用技能|变量
- 必须使用单引号包围
- 在{}中的数字将被替换为随机数字,如(生命: +{100-200}可能为生命: +151) 可以与 ItemLoreStats 一同使用
- 可以使用16进制颜色代码来代替颜色符号§或&<#FFFFFF>
- 可以使用渐变,颜色需使用16进制代码,格式为<gradient:#颜色1:#颜色2>文本</gradient>
- 可以使用彩色字<rainbow>文本</rainbow>
- 示例:
Lore: - '&r鲲鲲' - '' - '&c大笨蛋'
- PotionEffects:
- 允许添加药水效果
- 如果不是药水,那么纯粹为了好看
- 见药水
- BannerLayers:
- 允许编辑旗帜的条纹
- Minecraft 的限制为6条,如果比6条更多,可能造成奇怪的后果
- 见旗帜条纹
</spoiler>
物品属性
于版本 2.4 添加 MythicMobs 的物品属性机制使用了 Minecraft 1.9 的新的物品属性机制。这允许让生物的装备的属性随装备槽变化,老的 Option-tag 系统将不再支持。
物品: Id: 物品ID Attributes: 装备槽: 属性名: 数值
可用属性列表 |
---|
|
可用的装备槽列表 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
属性配置栗子 |
---|
幸运鲲鲲: Id: diamond Display: '幸运的鲲鲲' Attributes: MainHand: Luck: 10 OffHand: Luck: 7 Damage: 2 生物将幸运鲲鲲拿在主手获得10幸运值,副手则是7幸运值和两点近战伤害加成 鲲鲲皮革靴: Id: leather_boots Display: '鲲鲲皮革靴' Attributes: All: Health: 2 Feet: MovementSpeed: 0.04 获得一颗心的生命上限提升,如果装备在腿上,则有附加的0.04的移动速度加成 跑得快的鲲鲲: Id: wood_sword Display: '&e跑的快的鲲鲲&r' Attributes: MainHand: Damage: 3-5 MovementSpeed: 0.01-0.05 每次生成物品都会随机生成0.01-0.05的移动速度属性 |
物品选项
这是放在 Option 项内的设置。
支持所有物品的选项 |
---|
这些设置可用于任何物品。
|
支持玩家头颅的选项 |
---|
只可用于玩家头颅物品。
Player: Sharrk_kunjiang
|
支持可染色物品的选项 |
---|
|
支持所有物品的选项 |
---|
|
物品选项配置栗子 |
---|
鲲鲲: Id: 301 Data: 0 Display: '&f鲲鲲' Lore: - '' - 'So 笨蛋!' Enchantments: - DURABILITY:1 Options: Color: 200,200,200 添加了所有可能的选项: 鲲鲲: Id: banner Data: 4 Display: '&c&l鲲鲲&r' Lore: - '&r它<&sq>是鲲鲲.' - '&c鲲鲲!' - '' Amount: 8 Options: Color: 200,200,200 Damage: 100 Health: 123 FollowRange: 12 KnockbackResistance: 1 MovementSpeed: 0.05 HideFlags: false Unbreakable: true Enchantments: - DURABILITY:1 - ARROW_FIRE:10 |
常见物品
见 [常见物品] 注意: 当用作武器时,斧头的攻击速度降低两倍。使用DURABILITY附魔抵消或平衡更多的伤害等... 木棒、火焰棒和箭是良好的武器,但是你必须在设置里启用它们。
附魔
附魔属性用于给 MythicMobs 物品增加附魔。任何附魔都可用,并且可以超过 Minecraft 的等级限制。有些互相冲突的附魔同时使用可能无效。
格式
鲲鲲: Id: 物品ID 或 物品名 Enchantments: - 附魔英文ID:附魔等级 - 附魔英文ID:附魔等级 - ...
示例 |
---|
鲲鲲: Id: diamond_pickaxe Enchantments: - DAMAGE_ALL:3 - KNOCKBACK:1 |
附魔列表
深蓝色为1.16新增附魔,蓝色为1.13-1.14新增附魔 <spoiler>
名称 | 概述 | ID(PC) | 附魔英文ID | 最高等级 | 权重&备注 |
---|---|---|---|---|---|
灵魂疾行 | 当物品穿在靴子槽时,增加在灵魂沙上的移速 | 36 | SOUL_SPEED | III | 1 |
多重射击 | 当物品为弩时,弩单次射击会射出更多的箭矢,消耗也更多 | 33 | MULTISHOT | I | 3,不兼容穿透 |
快速装填 | 当物品为弩时,弩装填的速度更快 | 35 | QUICK_CHARGE | III | 5 |
穿透 | 当物品为弩时,弩箭会穿透生物 | 34 | PIERCING | IV | 10,不兼容多重射击 |
激流 | 当物品为三叉戟且玩家在水中或雨中,丢出三叉戟会令玩家朝三叉戟的方向穿梭 | 30 | RIPTIDE | III | 2,不兼容引雷,忠诚 |
忠诚 | 当物品为三叉戟时,丢出三叉戟会令三叉戟回到丢出者手上 | 31 | LOYALTY | I | 5,不兼容引雷,激流 |
引雷 | 当物品为三叉戟时,命中生物会雷劈生物 | 32 | CHANNELING | I | 1,不兼容忠诚,激流 |
穿刺 | 对海洋生物造成更高伤害 | 29 | IMPALING | V | 5 |
水下速掘 | 加快水下挖掘速度 | 6 | WATER_WORKER | I | 2 |
节肢杀手 | 对节肢生物造成额外伤害 | 18 | DAMAGE_ARTHROPODS | V | 5 |
爆炸保护 | 减少爆炸伤害 | 3 | PROTECTION_EXPLOSIONS | IV | 2 |
绑定诅咒 | 物品无法被丢弃 | 10 | BINDING_CURSE | I | 1 |
消失诅咒 | 物品会在玩家死亡时消失 | 71 | VANISHING_CURSE | I | 1 |
深海探索者 | 增加水下行走速度 | 8 | DEPTH_STRIDER | III | 2 |
效率 | 加快挖掘速度 | 32 | DIG_SPEED | V | 10 |
摔落保护 | 减少跌落伤害 | 2 | PROTECTION_FALL | IV | 5 |
火焰附加 | 使目标着火 | 20 | FIRE_ASPECT | II | 2 |
火焰保护 | 减少火焰伤害 | 1 | PROTECTION_FIRE | IV | 5 |
火矢 | 箭矢使目标着火 | 50 | ARROW_FIRE | I | 2 |
时运 | 增加方块掉落 | 35 | LOOT_BONUS_BLOCKS | III | 2 |
冰霜行者 | 允许水上行走 | 9 | FROST_WALKER | II | 2 |
无限 | 射箭不会消耗普通箭矢 | 51 | ARROW_INFINITE | I | 1 |
击退 | 增加击退距离 | 19 | KNOCKBACK | II | 5 |
抢夺 | 生物能掉落更多物品 | 21 | LOOT_BONUS_MOBS | III | 2 |
海之眷顾 | 提高钓鱼时获得宝藏的几率 | 61 | 23 | III | 2 |
饵钓 | 提高鱼咬钩的速度 | 62 | 24 | III | 2 |
经验修补 | 用经验修补工具的耐久度 | 70 | MENDING | I | 2 |
力量 | 增加弓箭伤害 | 48 | ARROW_DAMAGE | V | 10 |
弹射物保护 | 减少来源于弹射物的伤害 | 4 | PROTECTION_PROJECTILE | IV | 5 |
保护 | 减少多数的伤害 | 0 | PROTECTION_ENVIRONMENTAL | IV | 10 |
冲击 | 增加弓箭的击退距离 | 49 | ARROW_KNOCKBACK | II | 2 |
水下呼吸 | 延长水下呼吸时间 | 5 | OXYGEN | III | 2 |
锋利 | 增加近战攻击伤害 | 16 | DAMAGE_ALL | V | 10 |
精准采集 | 被开采的方块掉落本身 | 33 | SILK_TOUCH | I | 1 |
亡灵杀手 | 对亡灵生物造成额外伤害 | 17 | DAMAGE_UNDEAD | V | 5 |
横扫之刃 | 增加横扫攻击伤害 | 22 | SWEEPING_EDGE | III | 2 |
荆棘 | 给予攻击者伤害 | 7 | THORNS | III | 1 |
耐久 | 增加物品的有效耐久度 | 34 | DURABILITY | III | 5 |
</spoiler>
药水效果
药水效果选项
这个属性用于药水物品上(说不定食物也可以),格式很简单:
鲲鲲药水: Id: potion PotionEffects: - <药水种类> <持续时间> <等级>
药水等级最低0级,实际上为所填写的数值+1
药水效果列表
这些是 MythicMobs 提供的全部的药水效果,可以在药水物品与技能:Potion、条件:Potion使用。 <spoiler>
药水种类 | 描述 |
---|---|
ABSORPTION | 增加临时的最大生命 |
BAD_OMEN | 进入村庄会引发袭击 |
BLINDNESS | 致盲一个生物 |
CONDUIT_POWER | 提升水下能见度与水下挖掘速度,同时不会溺死 |
CONFUSION | 扭曲客户端视角 |
DOLPHINS_GRACE | 加快游泳速度 |
DAMAGE_RESISTANCE | 减少生物收到的伤害 |
FAST_DIGGING | 增加挖掘速度 |
FIRE_RESISTANCE | 阻止火焰伤害 |
GLOWING | 使生物发光 |
HARM | 伤害一个生物 |
HEAL | 治疗一个生物 |
HEALTH_BOOST | 增加生物最大生命 |
HERO_OF_THE_VILLAGE | 村民会给Buff携带者一些物品与交易折扣 |
HUNGER | 增加饥饿 |
INCREASE_DAMAGE | 增加伤害 |
INVISIBILITY | 使生物隐形 |
JUMP | 增加跳跃高度 |
LEVITATION | 使生物漂浮 |
LUCK | 增加生物幸运值 |
NIGHT_VISION | 允许生物夜视 |
POISON | 持续对生物造成伤害 |
REGENERATION | 恢复生命 |
SATURATION | 持续增加饱食度 |
SLOW | 减少移动速度 |
SLOW_DIGGING | 减慢挖掘速度 |
SLOW_FALLING | 减缓下降速度 |
SPEED | 增加移动速度 |
UNLUCK | 增加生物的背运 |
WATER_BREATHING | 允许生物水下呼吸 |
WEAKNESS | 减少伤害 |
WITHER | 持续对生物造成伤害,并把生命返还给射击者 |
</spoiler>
内置的药水效果
这些是原版 Minecraft 的药水效果,以及一些常用的数据。
来自空白(QQ462706326)的补充,这些效果无法在MM内直接使用
<spoiler>
普通数据 | 喷溅型数据 | 加强型数据 | 药水 | 效果 |
---|---|---|---|---|
8193 | 16385 | 生命恢复 (0:45) | 在45秒内恢复18点生命 | |
8194 | 16386 | 速度 (3:00) | 在3分钟内提升20%移速 | |
8195 | 16387 | 火焰抗性 (3:00) | 在3分钟内免疫火焰伤害 | |
8196 | 16388 | 中毒II (0:45) | 每秒损失0.8生命,共计36点生命,持续45秒 | |
8197 | 16389 | 瞬间治疗 | 瞬间恢复4点生命 | |
8198 | 16390 | 夜视 (3:00) | 在3分钟内使自己提高夜晚视觉亮度 | |
8200 | 16392 | 虚弱 (1:30) | 减少造成伤害的4*?点伤害 | |
8201 | 16393 | 力量 (3:00) | 在3分钟内攻击额外附加3*等级点伤害 | |
8202 | 16394 | 缓慢 (1:30) | 在30秒内减少30%移速 | |
8204 | 16396 | 瞬间伤害 | 瞬间损失6点生命 | |
8205 | 16397 | 水下呼吸 (3:00) | 在3分钟内不会溺死 | |
8206 | 16398 | 隐身 (3:00) | 在3分钟内隐身 | |
8225 | 16417 | 生命恢复II (0:22) | 在22.5秒内每秒恢复0.8点生命,共计18点 | |
8226 | 16418 | 速度II (1:30) | 在1分30秒内增加40%移速 | |
8228 | 16420 | 中毒 III (0:22) | 在22.5秒内每秒损失1.66点生命,共计38点 | |
8229 | 16421 | 瞬间治疗II | 瞬间恢复8点生命 | |
8233 | 16425 | 力量III (1:30) | 在1分钟30秒内每次攻击额外附带9伤害 | |
8236 | 16428 | 瞬间伤害II | 瞬间损失12点生命 | |
8257 | 16449 | 生命恢复II (2:00) | 在2分钟内每秒恢复0.4点生命,共计48点 | |
8258 | 16450 | 速度 (8:00) | 在8分钟内增加20%移速 | |
8259 | 16451 | 火焰抗性 (8:00) | 在8分钟内免疫火焰伤害 | |
8260 | 16452 | 中毒II (2:00) | 在2分钟内每秒损失0.8点生命,共计96点 | |
8262 | 16454 | 夜视 (8:00) | 在8分钟内使自己提高夜晚视觉亮度 | |
8264 | 16456 | 虚弱 (4:00) | 在4分钟内攻击伤害减少3点 | |
8265 | 16457 | 力量 (8:00) | 在8分钟内每次攻击额外附带3伤害 | |
8266 | 16458 | 缓慢 (4:00) | 在4分钟内减少15%移速 | |
8269 | 16461 | 水下呼吸 (8:00) | 在8分钟内不会溺死 | |
8270 | 16462 | 隐身 (8:00) | 在8分钟内隐身 | |
8289 | 16481 | 生命恢复 II (1:00) | 在1分钟内每秒恢复0.8点生命,共计48点 | |
8290 | 16482 | 速度 II (4:00) | 在4分钟增加40%移速 | |
8292 | 16484 | 中毒 II (1:00) | 在1分钟内每秒损失1.66点生命,共计100点生命 | |
8297 | 16489 | 力量 II (4:00) | 在4分钟内每次攻击额外附带6伤害 |
</spoiler>
旗帜条纹
你可以使用以下格式在 MythicMobs 中制作复杂的旗帜条纹。MythicMobs 对可以使用的条纹数量没有任何限制,你可以超过 Minecraft 设置的 6 层限制。然而,超过6层可能会导致异常行为和/或卡顿。 旗帜条纹也适用于Minecraft 1.9 中的盾牌。
格式
鲲鲲: Id: <banner/shield> Options: Color: 背景颜色名 BannerLayers: - 颜色 图案 - 颜色 图案
模式
模式 | |
---|---|
BASE | SQUARE_BOTTOM_LEFT |
BORDER | SQUARE_BOTTOM_RIGHT |
CIRCLE_MIDDLE | SQUARE_TOP_LEFT |
CREEPER | SQUARE_TOP_RIGHT |
CROSS | STRAIGHT_CROSS |
CURLY_BORDER | STRIPE_BOTTOM |
DIAGONAL_LEFT | STRIPE_CENTER |
DIAGONAL_LEFT_MIRROR | STRIPE_DOWNLEFT |
DIAGONAL_RIGHT | STRIPE_DOWNRIGHT |
DIAGONAL_RIGHT_MIRROR | STRIPE_LEFT |
FLOWER | STRIPE_MIDDLE |
GRADIENT | STRIPE_RIGHT |
GRADIENT_UP | STRIPE_SMALL |
HALF_HORIZONTAL | STRIPE_TOP |
HALF_HORIZONTAL_MIRROR | TRIANGLE_BOTTOM |
HALF_VERTICAL | TRIANGLE_TOP |
HALF_VERTICAL_MIRROR | TRIANGLES_BOTTOM |
MOJANG | TRIANGLES_TOP |
RHOMBUS_MIDDLE | SKULL(骷髅头颅) |
示例
示例 |
---|
鲲鲲: Id: banner Display: '&r鲲鲲' Options: Color: 0,0,0 BannerLayers: - GRAY DIAGONAL_RIGHT - RED GRADIENT - YELLOW GRADIENT_UP - WHITE BORDER - BLACK SKULL - RED SKULL - ORANGE SKULL - YELLOW SKULLSkeletonKingBanner: Id: banner Display: '&4Skeleton King<&sq>s Banner' Options: Color: RED BannerLayers: - WHITE CURLY_BORDER - WHITE STRIPE_CENTER - BLACK STRIPE_BOTTOM - WHITE CREEPER - YELLOW STRIPE_TOP - BLACK TRIANGLES_TOP |
掉落(Drops)
概览
- 给生物添加自定义掉落项
- 可以是原版物品,MM定义的物品,经验球,能读取的其他插件物品,或者其自定义的掉落表(DropsTables)配合条件使用
掉落标签可以添加到你的自定义生物,允许它们在死亡后掉落特定的物品。在 MythicMobs 里你有三种方式使用自定义掉落。
Drops
栗子 |
---|
Drops 是实现自定义掉落的最简单的方法:
鲲鲲: Type: 鲲鲲 Drops: - <物品/exp(经验)/droptable(战利品表)> <数量> <几率> - <物品/exp(经验)/droptable(战利品表)> <数量> <几率> - ... <item/exp/droptable> 可以是 MythicMobs 的物品,也可以是原版物品,或者是插件的掉落表。
|
特殊掉落 |
---|
|
等级调整掉落
每级的掉落跟普通掉落一样,但是会以生物的等级为基础
栗子 |
---|
鲲鲲: Type: ZOMBIE DropsPerLevel: - <物品/exp(经验)/droptable(战利品表)> <数量> <几率> - ... 每级掉落意味着插件将会尝试掉落更多次,比如你有一个 5 级生物,使用了以下设置: 鲲鲲: Type: shulker DropsPerLevel: - diamond 3 1 - gold_ingot 2 0.5 那么就一定会掉落 15 个钻石,并且有50%掉落最多 10 个铁锭。 查看等级调整值(LevelModifiers) |
战利品表详解 |
---|
战利品表存储于 /MythicMobs/DropTables. 使用掉落表有很多优势 比如你可以配置条件,并让很多个生物共享使用,而不用创建一份副本。 鲲鲲: Type: 生物类型 Drops: - 战利品表名 注意,你在使用战利品表时不能添加 <数量> 和 <几率> 鲲鲲战利品表: TotalItems: <数量> #默认为totalitems的值 MinItems: <数量> #默认为totalitems的值 MaxItems: <数量> Conditions: - 条件 1 - 条件 2 - ... Drops: - <物品/exp(经验)/droptable(战利品表)> <数量> <几率> - ... DropsPerLevel: - <物品/exp(经验)/droptable(战利品表)> <数量> <几率> - ... |
示例
<spoiler> 这个生物总会掉落一大堆的经验,和一些生鱼。
鲲鲲: Type: zombie Health: 100 Equipment: - snowsword:0 Drops: - exp 75-125 1 - 鲲鲲
这将在 ICE_PLAINS 群系里,并且玩家在20格以内时击杀掉落 鲲鲲剑,几率为 5%
鲲鲲: Conditions: - inbiome ICE_PLAINS - playerwithin 20 Drops: - 鲲鲲剑 1 0.05
</spoiler>
刷怪点(Spawners)
编辑器
- 仅支持1.9-1.12.2的服务端
- 链接:www.mcbbs.net/thread-1142265-1-1.html
普通刷怪点
刷怪点允许你设置世界中你的自定义怪物生成的坐标,其中有很多有用的选项、条件和内置的计时器、冷却和预热系统。
你可以在游戏内直接使用命令来创建一个刷怪点,也可以在配置文件的 /MythicMobs/Spawners 处配置。
注意,一旦配置文件中的刷怪点被加载,它将只能通过命令编辑。
如果你需要编辑一个加载的刷怪点的配置文件,你需要关闭服务器。
详解 |
---|
刷怪点的优点
刷怪点的缺点
|
选项
- checkforplayers <true/false>:
- 必须有玩家在附近才激活使用
- 为了性能,默认为 true
- cooldown <number>:
- 多久重新尝试生成|冷却
- /mm s set Ruins_Skeleton1 cooldown 30 (设置冷却为 30 秒)
- 预热> 生物生成> 生物死亡> 冷却> 回到预热
- 为了防止混淆,推荐只使用预热或冷却中的一个,而不是同时使用,因为任意一个基本可以应对所有的情况了
- group <group name>
- 设置生成的组名
- 对于大型的设置,比如一个地牢,你可以将所有刷怪点分在同一组内,这样在游戏中就可以使用2到3个命令(而不是20到30个命令)来更改刷怪点
- /mm s set Ruins_Skeleton1 group Ruins (将刷怪点放入 Ruins 组)
- 使用命令:
- /mm s set g:Ruins warmup 300
- 设置所有 Ruins 组的刷怪点的预热时间为 300 秒
- healonleash <true/false>
- 当生物回到刷怪点,是否恢复所有生命
- /mm s set Ruins_Skeleton1 healonleash true (生物被拉回刷怪点时会恢复生命)
- leashrange <number>:
- 生物强制传送回刷怪点的最大游荡/攻击距离
- /mm s set Ruins_Skeleton1 leashrange 15 (设置拉回距离 15 格)
- maxmobs <number>:
- 当前世界和刷怪点最大的生成的生物,应该比 mobsperspawn 设置的相等或更大
- /mm s set Ruins_Skeleton1 maxmobs 2 ((设置刷怪点最大允许 2 个生物)
- moblevel <number>:
- 设置生成的生物的等级,生物必须有等级设置。
- /mm s set Ruins_Skeleton1 moblevel 1-5 (设置生成的生物等级在 1-5 之间)
- mobsperspawn <number>:
- 设置每次生成的最大的生物数量,被maxmobs 选项限制
- /mm s set Ruins_Skeleton1 mobsperspawn 2 (设置每次生成 2 个生物)
- mobtype <mobtype>:
- 设置生成的生物种类,可为原版或 MythicMobs 的生物
- /mm s set Ruins_Skeleton1 mobtype GreaterSkeleton (将生成类型更改为 GreaterSkeleton)
- radius <number>:
- 刷怪点的生成范围,设置为 0 会生成在刷怪点上,设置为 5 会生成在 5 格内的任意位置
- 当使用较大的半径时,会显得更加随机
- /mm s set Ruins_Skeleton1 radius 5 (设置生成范围为 5)
- showflames <true/false>:
- 设置是否在刷怪点旁显示火焰,适合 Debug
- /mm s set Ruins_Skeleton1 showflames true (在刷怪点开启火焰粒子)
- warmup <number>:
- 当上个生物被杀死时,多久以后尝试生成下一个生物】
- /mm s set Ruins_Skeleton1 warmup 300 (设置预热为 5 分钟)
随机刷怪点
随机生物刷怪点让你完全控制世界的生物生成。你可以完全自定义何处、何时、如何生成多少生物,并通过条件精确控制生成。
在4.8.0+(含4.8.0),随机刷怪需要当前世界拥有生存模式或者冒险模式的玩家
生成模式
这些设置对于区分一下的选项很重要:
- Action: REPLACE
- 替换用于替换原版 Minecraft 自己的生成器生成的生物,这将控制所有生物的生成
- 替换用于替换原版 Minecraft 自己的生成器生成的生物,这将控制所有生物的生成
也就是说,如果默认的生成被关闭(如游戏规则 doMobSpawn 关闭),那么这个设置将不起任何作用
- Action: ADD
- 添加将会使用 MythicMobs 的特殊的生成算法,这将像 Minecraft 一样在玩家附近随机生成生物。但是这些生成点没有任何条件限制,如亮度等。
- 添加将会使用 MythicMobs 的特殊的生成算法,这将像 Minecraft 一样在玩家附近随机生成生物。但是这些生成点没有任何条件限制,如亮度等。
- 可以在 MythicMobs 的配置文件 config,yml 中详细配置这些生成点
- 请注意这模式仅会在处于生存/冒险模式的玩家周围工作,同时config.yml里面的GenerateSpawnPoints得为true
- 可以在 MythicMobs 的配置文件 config,yml 中详细配置这些生成点
- Action: DENY
- 让刷出来的生物不会繁殖
- Action: SCALE
- 将到来的特性
- 另外,不想刷出原版生物的话,在config里面将DisableVanillaSpawns设置为true即可
选项
所有可用的设置。
全局随机生成设置
示例:
my_favorite_randomspawn: Action: ADD Type: cute_zombie Level: 2 Chance: 0.01 Priority: 10 UseWorldScaling: false Worlds: my_overworld,my_overworld_nether
所有可用的选项 |
---|
· Conditions: · - condition 1 · - condition 2 · …
RandomSpawning: GenerateSpawnPoints: true MaxMobsPerChunk: 100 SpawnRadiusPerPlayer: 64 SpawnRadiusPerPlayerY: 32 DespawnLazyRandomMobs: true PointsPerSecond: Land: 10 Air: 1 Sea: 0 Lava: 0 Ground: 1 |
变量(Varibute)MM4.6.5+
概览
- 编辑者:鲲鲲(鯊鲨)、二白(栗Message)中
- 付费版才可以将变量应有到非消息类技能(栗Message)中
- 从玩家身上读取变量,目标玩家必须是生存/冒险模式.(MM部分目标器会过滤创造/观察模式)
- 想将所创变量(栗<caster.damage>)运用到其他地方,需改为这种格式: <caster.var.damage>
- 变量计算(例如damage{a='2 * <caster.var.damage'> @self),运算符号必须和两个因数(可全为变量名,也可一个变量一个数字)之间隔着一个空格
- 同时,能使用()和[]进行"复杂"的计算,计算只能用在damage/damagepercent、heal/healpercnet、setlevel,其它技能计算均无效.
- 详见底部的"随着怪物剩余血量百分比的减少增加伤害"李子,另外,100%=100,不等于1
- 4.7.2+,若读取生物名称的变量没读取到生物名称,会提示生物种类
- 变量用于决定返还一个特定的数值并用于技能之上,也可单纯用于显示颜色或特殊符号
例子:显示被干掉的生物名字 被骑士 显示使用技能的玩家的名字 使用技能斩杀了
Skills: - message{m="&b<mob.name>&r 被骑士 &a<trigger.name>&r 使用技能斩杀了"} @PIR{r=20} ~onDeath
技能变量
<spoiler>
施法者变量 | 描述 | |
---|---|---|
以下变量返还施法者下的相关数值 <caster.name>就会返还离使用此技能的生物名字 | ||
<caster.damage> | 返还施法者所受伤害 | |
<caster.hp> | 返还施法者当前生命 | |
<caster.mhp> | 返还施法者的最大生命 | |
<caster.php> | 以百分比形式返还施法者的当前生命,100%=100 | |
<caster.thp> | 返还施法者的最大生命 | |
<caster.tt.top> | 返还对施法者威胁度最高的伤害源名字 | |
<caster.level> | 返还施法者的等级 | |
<caster.l.w> | 返还施法者所处世界名 | |
<target.l.x> | 返还施法者x轴坐标 | |
<target.l.x.#> | 返还施法者x轴坐标(加上#表随机偏差) | |
<target.l.y> | 返还施法者y轴坐标 | |
<target.l.y.#> | 返还施法者y轴坐标(加上#表随机偏差) | |
<target.l.z> | 返还施法者z轴坐标 | |
<target.l.z.#> | 返还施法者z轴坐标(加上#表随机偏差) | |
<caster.owner.name> | 返还施法者的主人名称 | |
<caster.owner.uuid> | 返还施法者主人的UUID | |
<caster.stance> | 返还施法者所拥有的姿势名 | |
<caster.threat> | 返还施法者的威胁度 |
变量占位符(MM4.6+) | 描述 | |
---|---|---|
以下变量返还变量的相关数值 | ||
<caster.var.变量名> | 返还指定变量的数值 | |
<skill.var.变量名> | 返还当前技能内指定变量名的变量数值 | |
<skill.var.damage-amount> | 受伤时返还自身所受伤害,需onDamaged触发器 | |
<skill.var.damage-type> | 受伤时返还自身所受伤害类型,需onDamaged触发器,可为Aura(光环)etc(特定)mechanic(技能) |
生物变量 | 描述 | |
---|---|---|
若没有标明生物名字,以下变量或许会不能运行 | ||
<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> | 返还生物当前的状态 | |
<mob.owner.name> | 返还狼的主人的名字 | |
<mob.owner.uuid> | 返还狼的主人的UUID |
目标变量 | 描述 | |
---|---|---|
以下变量返还目标选择器下的相关数值 <target.name>+@NearstPlayer就会返还离使用此技能的生物的最近玩家的名字 | ||
<caster.damage> | 返还施法者受到的伤害 | |
<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轴坐标 |
</spoiler>
关于设置其它插件变量
- 若要让MM识别外部插件变量,请参考: MythicMobs技能->目标类技能->SetVariable
其他变量
变量 | 描述 |
---|---|
<drops.xp> | 返还Heroes或SkillAPI插件的经验掉落值 |
<drops.money> | 返还Vault插件的金钱掉落值 |
特殊变量
变量 | 描述 |
---|---|
<random.min-max> | 返还一个定义域内的随机数值 |
<mob.score.记分板名> | 返还生物记分板指定记分板下的分数 |
<target.score.记分板名> | 返还目标指定记分板下的分数 |
<trigger.score.记分板名> | 返还施法者指定记分板下的分数 |
<global.score.记分板名> | 返还指定记分板下的总分 |
<score.objective.记分板名> | 返还指定记分板下dummyname的分数 |
变量技能相关
目标类技能:SetVariable修改项
标签 | 描述 | 默认数值 |
---|---|---|
value | 要设置为的数值,可为其他插件的变量(例如:%sx_damage%) | 无 |
score | 变量运用的位置 | skill |
type | 比较复杂,专门罗列出来讲. | Integer(整数) |
variable(var) | 可自定义设置的变量值,但前缀必须是caster/trigger/skill/target 任意一种. | 无 |
变量条件
详见条件页面
条件类型 | 描述 |
---|---|
VariableIsSet | 变量是否为此技能设置的 |
VariableInRange | 检测变量是否在特定的数值范围 |
VariableEquals | 检测变量的数值 |
变量类型
类型 | 描述 |
---|---|
String | 字符串:支持单词,句子 |
Integer | 整型:支持整数 |
Float | 浮点型:支持带小数点的数字 |
- 二白提醒您:这里的类型是指value对应的类型,若要使用%sx_damage%等类似变量建议使用String.
变量栗子
栗子1:玩家攻击时会触发攻击属性百分比伤害 |
---|
玩家攻击时会触发攻击属性百分比伤害:
Skills: - skill{s=玩家攻击属性百分比伤害} ~onAttack 技能设置: Skills: - setvariable{type=STRING;var=caster.damage;value="%sx_damage%"} @Self - message{m="&a你对敌方造成了 <caster.var.damage> 点伤害."} @Self - damage{a=<caster.var.sm>*2} @Target 注释:玩家在攻击时会给自己设置一个变量,并且通过message提示自己这个数值的大小(也可用于制作者检测变量设置是否成功),并对怪物造成该数值翻倍的伤害. |
栗子2:全额反伤——全额反伤的文本显示
变量条件栗子
栗子 |
---|
注释:若伤害等于5,鲲鲲才不会激活反伤效果
激活反伤: TargetConditions: - variableEquals{var=caster.dm;value="5"} false Skills: - sudoskill{s=激活反伤} @Target 注释:若伤害大于5,鲲鲲才不会激活反伤效果 激活反伤: TargetConditions: - variableInRange{var=caster.dm;value=>5} false Skills: - sudoskill{s=激活反伤} @Target 注释:鲲鲲受伤时会让目标受到1+1* (100-剩余生命百分比)点伤害,剩余生命百分比最高为100,百分比是整数而不是小数! 鲲鲲: Type: Zombie Skills: - skill{s=测试增伤} @self ~onTimer:1 - skill{s=测试增伤提示} @self ~onDamaged 测试增伤: Skills: - setvariable{type=STRING;var=caster.dm;value="<caster.php>"} @self 测试增伤提示: Skills: - damage{a='1 + 1 * (100 - <caster.var.dm>) '} @EIR{r=10} - message{m="&c怪物生命为 <caster.var.dm> "} @EIR{r=10} |
教程
入门
使用 MythicMobs 创建自己的生物甚至是Boss是很简单的,这些是你需要了解的:
- 如何配置 YAML 文件
- 你的文件到哪里去了
- MythicMobs 拥有的设置选项
YAML-文件
YAML 格式的文件常用于保存配置。这些文件易于读写,并且加载的很快。绝大多数的 Minecraft 插件都使用 YAML 文件来作为他们的配置文件,MythicMobs 也不例外。
如果你想要深入了解YAML是什么,那么请前往 YAML Wiki 条目([英文])([中文,需过墙])
然而更多关于 YAML 的知识对于配置 MythicMobs 的生物来说,是不需要的。
但是使用 YAML 时有一点需要注意:不要使用 Tab 键。 编辑 YAML 文件的最好的软件是 Notepad++
你的文件到哪里去了
在加载 MythicMobs 到你的服务器之后,它的文件夹将会像大部分 Minecraft 插件一样,在 /plugins 文件夹内,你甚至会找到很多的子文件夹。
将配置文件放入正确的文件夹始终是非常重要的。
错误的放置配置文件将会被插件读取为其他东西,比如你讲生物配置放进了技能文件夹,插件就将试图将它读取为生物的技能,当然这会报错并输出到你的服务器控制台。
记住:将文件放进正确的文件夹,否则你的创造物将不会运行。
ExampleXXX.yml 这些示例文件无法被删除,它们将会在下次重启时重新生成,如果你不想加载里面的配置,只需要删除里面的内容。
MythicMobs 设置
确实,MythicMobs 有很多的配置可供修改,但是你不应该就这样去做了,你修改的东西越多,就越容易犯错误,也就会最终变得困惑不解、不知所措,被水淹没。说到这里,我建议你做几件事,这将让你更加得心应手:
创建一个本地服务器
在你自己的电脑上创建一个 Spigot 服务器,这是创建和测试最便捷的方法了。只需要安装服务器,创建一个超平坦世界。接着载入 MythicMobs 和其他你想测试的插件,这样做有以下优势:
- 你可以使用 Tab 快速切换 Minecraft 和 Notepad++
- 安全的测试环境
- 崩溃不打扰其他人
- 速度快捷
如果你的电脑足够久远,并且你担心性能什么的,不用担心,Spigot 足够轻量,并且如果你的电脑可以胜任原版的单人游戏,那么我想你的电脑也可以开着 Spigot 玩服务器。(相信我,我用着一颗上古双核处理器,但是表现令人尖叫)
选择正确的版本
突然有了问题?请确保你使用了对应你版本的 MythicMobs,兼容列表也可以在下载页面找到。
更改原版生物
MythicMobs 不止能创建自定义生物,它也可以改变原版 Minecraft 生成的生物。实现这个太简单了,你需要做的只是将想要改变的生物写入自动生成的 VanillaMobs.yml 文件,位于/MythicMobs/Mobs 文件夹。接着你就可以做你想做的了。
一般来说,覆盖原版生物可以使用整个 MythicMobs 的技能和选项。如果你在某个地方跌倒了,请确认你使用了正确的格式并爬起来,如果爬不起来,那么请到我们的 Bug提交论坛 寻求帮助!
完全移除一个原版生物(知道你讨厌苦力怕)
让我们轻松地开始,你可能在寻找这个:如何阻止一个特定的生物生成。
我们猜你狠苦力怕入骨,而且你还想让他们见鬼去吧。第一件事我们要做的是找到苦力怕的正确种类代号,我们可以在这个页面(见生物|生物种类)找到正确的种类代号为... “CREEPER”。
VanillaMobs.yml文本 |
---|
由于一些显而易见的原因,确定一个生物种类不是必要的(难道不是吗2333)。剩下需要做的是添加一个移除机制到这个生物,这样当它出生时就会移除。 CREEPER: Skills: - remove @self ~onSpawn 就是这样!任何生成的苦力怕会马上删除! 如果你想阻止更多生物生成,那么你就无限重复上面的过程,就像这样:CREEPER: Skills: - remove @self ~onSpawn ENDERMAN: Skills: - remove @self ~onSpawn ZOMBIE: Skills: - remove @self ~onSpawn |
给生物添加5毛特效(可爱的僵尸)
僵尸没那么吓人是吧?或者你想让你的服务器的年龄限制下降一些?让我们给你的休闲小怪加上一些爱。第一步,找到生物种类,接着还是像这样:
VanillaMobs.yml:
ZOMBIE:
接着,我们要使用粒子机制(见特效),选择我们想要的爱心粒子(“heart” <3),从粒子类型选择。
ZOMBIE: Skills: - effect:particles{particle=heart;amount=1;hs=0.1;vs=0.1;y=1.5} @self ~onTimer:20 0.25
然后又一次,我们成功了。显而易见,我们有了一个完全自定义的生物。这个例子将会生成一颗红心粒子,平均每 4 秒一颗。
更改生物选项(爬行的末影人)
你可以在原版生物上更改生物选项,让我们把服务器里的末影人变得更加可怕,同时也会丧失它们的基础能力。
ENDERMAN: Options: PreventTeleporting: true Skills: - potion{type=INVISIBILITY;duration=630720000;level=0} @self ~onSpawn
这个示例将会阻止你的服务器的末影人使用传送能力,注意这些设置只会对 Minecraft 生成的生物有效。你创建的其他自定义的生物(比如末影人)不会受到原版覆盖带来的影响。
并且,末影人在生成时会对自己使用药水机制,这样让他们隐形 63072000 ticks。这看起来可能像个随机数,然而这相当于游戏内的 1 年,为什么不呢?
但是末影人并不会永久隐形。你仍然会看到他们的眼睛,就像隐形的蜘蛛一样,末影人也是。
更改属性
这个该不用多说什么了吧,你可以更改原版覆盖生物的属性。就像这样: <spoiler>
ZOMBIE: Health: 200 Damage: 20 Armor: 5 Options: MovementSpeed: 0.25 FollowRange: 137 Silent: true Skills: - jump{v=0.5} ~onTimer:140
</spoiler>
创建随机刷怪点
示例 1:大多数普通生物,一个稀有的 Boss
场景
作为一个腐竹,你的玩家有一个采矿世界,用于挖掘各种矿物到他们的地皮。你想通过 MythicMobs 偶尔产生一些稀有的强大的生物而不是普通的生物,来让玩家的生存更加刺激。这个 Boss 可能掉落一些有趣的装备,或者掉落罕见的金块和钻石块。
要求
- 我们希望在地面上生成普通怪物,在地下生成 Boss
- 所有的其他的生物是自然的生物
- 世界名: MiningWorld
- 外界生成
- Skeletal Fire Wizard (1% chance)
- 内部生成
- Skeletal Necromancer (1% chance)
步骤
- 我们使用 RandomSpawners 所以第一件事是确认当前世界开启了生物生成。
- 如果你已经有了自然生成的野怪,那么你已经开启了。
- 如果没有,请做这些事:打开 server.properties 文件,检查 Spawn-Monsters 为 true。重启你的服务器,下一步是使用 /gamerule doMobSpawning true 来保证规则执行。
- 接下来我们需要设置两个强大的Boss生物,使用MythicMobs手册的其他配置Boss。对于这个例子,很好地使用我们的 Skeletal Fire Wizard 生物为地面的 Boss, Skeletal Necromancer 为地下的Boss。这两个生物都可以在例子中找到。
- 创建 RandomMobSpawner 设置
SkeletalFireWizard: Mobname:SkeletalWizard_Fire Worlds: MiningWorld Chance: 0.01 Priority: 1 SpawnMethod: replace Conditions: - outside true
分析
- Minecraft 会决定在 MiningWorld 世界生成生物
- MythicMob 的 RandomSpawner 开始运行,决定生成的生物
- 如果生成器决定生成 SkeletalFireWizard,随机刷怪点会掷骰决定生成。
- 如果生成器决定生成 SkeletalNecromancer,随机刷怪点会掷骰决定生成。
- 如果都没有,那么生成普通小怪
示例 2:密集的冒险区(仅 MythicMobs)
场景
作为腐竹,你设置了一片用于冒险的区域,让玩家杀死 MythicMobs 并掉落稀有物品。你只想让 MythicMobs 生成,自然生物不能生成。这片区域附近包括了一片森林群系和下雪的群系。
要求
- 只生成 MythicMobs
- 应该有几率生成 Boss
- 如果没有生成 Boss,每个区域都应该随机生成一个生物
- 冒险区域
- 世界名: world
- 区域: AdvRegion
- 冒险区域生物
- Abominable Snowman (1% 几率)
- 森林群系生物
- Large Spider (25% 几率)
- Minor Earth Elemental (25% 几率)
- Greater Earth Elemental (25% 几率)
- Black Wolf (25% 几率,默认生成)
- 雪地生物
- Frost Spider (25% 几率)
- Minor Frost Elemental (25% 几率)
- Greater Frost Elemental (25% 几率)
- White Wolf (25% 几率,默认生成)
步骤
我们使用 RandomSpawners 所以第一件事是确认当前世界开启了生物生成。
- 如果你已经有了自然生成的野怪,那么你已经开启了。
- 如果没有,请做这些事:打开 server.properties 文件,检查 Spawn-Monsters 为 true。重启你的服务器,下一步是使用 /gamerule doMobSpawning true 来保证规则执行。
- 下一步我们使用 WorldEdit 创建区域。选择一片区域,使用 /region define AdvRegion 定义一片区域。
- 设置 8 个普通生物和一个 Boss,仿照下方的教程
- 创建 RandomMobSpawner 配置:
整个冒险区域 |
---|
AbominableSnowman: Mobname: AbominableSnowman Worlds: world Chance: 0.01 Priority: 100 SpawnMethod: replace Conditions: - inregion AdvRegion |
仅森林区域 |
---|
LargeSpider: Mobname: LargeSpider Worlds: world Chance: 0.25 Priority: 2 SpawnMethod: replace Conditions: - inregion AdvRegion - biome forest MinorEarthElemental: Mobname: MinorEarthElemental Worlds: world Chance: 0.25 Priority: 2 SpawnMethod: replace Conditions: - inregion AdvRegion - biome forest GreaterEarthElemental: Mobname: GreaterEarthElemental Worlds: world Chance: 0.25 Priority: 2 SpawnMethod: replace Conditions: - inregion AdvRegion - biome forest BlackWolf: Mobname: BlackWolf Worlds: world Chance: 1 Priority: 1 SpawnMethod: replace Conditions: - inregion AdvRegion - biome forest |
仅下雪区域 |
---|
FrostSpider: Mobname: FrostSpider Worlds: world Chance: 0.25 Priority: 2 SpawnMethod: replace Conditions: - inregion AdvRegion - biome snowy MinorFrostElemental: Mobname: MinorFrostElemental Worlds: world Chance: 0.25 Priority: 2 SpawnMethod: replace Conditions: - inregion AdvRegion - biome snowy GreaterFrostElemental: Mobname: GreaterFrostElemental Worlds: world Chance: 0.25 Priority: 2 SpawnMethod: replace Conditions: - inregion AdvRegion - biome snowy WhiteWolf: Mobname: WhiteWolf Worlds: world Chance: 1 Priority: 1 SpawnMethod: replace Conditions: - inregion AdvRegion - biome snowy |
分析
这个设置更加复杂了,让我们看看发生了什么: <spoiler>
- Minecraft 会决定在 AdvRegion 区域生成生物
- MythicMob 的 RandomSpawner 开始工作,决定生成什么生物
- 所有的 RandomMobSpawners 会掷骰决定生成哪个生物
- 如果 AbominableSnowman (优先度 100) 轮到了,将会立刻生成而跳过下一个生物,因为它拥有最高的优先度
- 如果生物在森林中生成,那么只会考虑森林的突变种群
- 对于森林群系,将会掷优先度为 2 的生物(Large Spider 和 elementals)
- 任意掷到的生物都会生成
- 如果没有生物被掷到,那么就会生成 Black Wolf,因为它有最低的优先度,并且几率 100%
- 如果生物在雪地中生成,那么只会考虑雪地的突变种群
- 对于雪地群系,将会掷优先度为 2 的生物(Frost Spider 和 elementals)
- 任意掷到的生物都会生成
- 如果没有生物被掷到,那么就会生成 Whitek Wolf,因为它有最低的优先度,并且几率 100%
- 请注意,这种设置将会保证 MythicMobs 一定生成。许多人认为将几率设置为 100% 会让自然生物不会生成、这不是插件工作原理导致的,这是因为总是有很小的几率,所有生物都没有掷到,Minecraft 就会生成原版生物,这就是为什么要添加一个优先度最低而且几率为 100% 的生物在最后。
</spoiler>
自定义生物 AI
MythicMobs 提供了自行编写生物AI的能力,这可以为生物添加一大堆高度自定义的设定,如生物怎样近战、攻击哪些目标、和其他的动作。
在以下的一节里,我将会提供一些例子来展示如何配置一些服务器常用的场景。
AI 目标 & 派系
- 自定义 AI 通常需要两个配置来工作,即 AI Goals,这告诉生物它需要怎样动作,和 AI Targets,这告诉生物怎样锁定目标。
- 派系用于将生物分组,经常用于更高级的配置中。
- 作为默认,每个 Minecraft 生物都有一些全局 AI 。举个例子,骷髅的 AI 告诉了骷髅应该锁定玩家为目标,并且应该使用弓和箭来攻击。为了使用 MythicMobs 重写骷髅的AI,我们要先清除它的 AI Goals,然后给他们添加新的目标。
让我们看看底下这个例子: <spoiler>
好鲲鲲: Mobtype: skeleton Display: '&a一只好鲲鲲' Health: 15 Damage: 1 Faction: 好鲲鲲 AIGoalSelectors: - 0 clear - 1 arrowattack AITargetSelectors: - 0 clear - 1 players Options: FollowRange: 10 MovementSpeed: 0.2 PreventOtherDrops: true
- 这个示例展示了 鲲鲲 AI 如何攻击目标。(剪掉了其他没啥用的东西,比如随机的走动)
- AIGoalSelectors 项告诉了鲲鲲使用弓与箭射击目标。
- AITargetSelectors 项告诉了鲲鲲应该锁定玩家。
- 如你所见,一般第一件事是 clear,这样你就有一个空的AI来编辑了,这是很重要的,如果不这样做,你的AI可能不会像预期那样工作
- 现在我想让鲲鲲近战攻击其他的派系的生物,让我们看看这是怎么做到的:
好鲲鲲: Mobtype: skeleton Display: '&a一只好鲲鲲' Health: 15 Damage: 1 Faction: 好鲲鲲 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 项现在将目标设置为近战,装备弓的时候是非近战的。但是这对僵尸是不需要的。
- AITargetSelectors 项现在将玩家移除.所以骷髅不会主动攻击玩家。现在骷髅将会主动攻击其他派系的生物,也就是不在它自己的派系里的生物(比如不在好鲲鲲)。这里也有一个 hurtbytarget 的优先度为1,也就是说如果有生物主动攻击了它(比如玩家),骷髅就会反击。这个属性的优先级一般都很高,这样它们不会被随意利用。如果没有这个,好鲲鲲就会很容易的被击杀,而不会反。
- 在接下来的两个小节里,我会展示经常使用的场景以及它们的 AI 配置,这也是你可能想要在服务器里实现的功能。
好鲲鲲: Mobtype: spider Display: '&a一只好鲲鲲' Health: 15 Damage: 1 Faction: 好鲲鲲 AIGoalSelectors: - 0 clear - 1 meleeattack AITargetSelectors: - clear - nearestConditionalTarget{conditions=[ - entitytype PLAYER - hasaura{aura=标记} ]} Equipment: - 好鲲鲲剑:0 Options: FollowRange: 10 MovementSpeed: 0.2 PreventOtherDrops: true
- 在4.9+,上面所写的nearestConditionalTarget会使此蜘蛛攻击离自己最近的拥有标记光环(aura=标记)的玩家,想要增加新的条件和上一行对仗就行。
好鲲鲲: Mobtype: spider Display: '&a一只好鲲鲲' Health: 15 Damage: 1 Faction: 好鲲鲲 AIGoalSelectors: - 0 clear - 1 meleeattack AITargetSelectors: - clear - fleeConditional{distance=5; speed=2; conditions=[ - inlineofsight - entitytype COW ]} Equipment: - COS_WoodSword:0 Options: FollowRange: 10 MovementSpeed: 0.2 PreventOtherDrops: true
- 在付费版4.8.0+,上面所写的FleeConditional会使好鲲鲲以每秒2m的速度逃离离自己5m的牛(前提是在视野范围内inlineofsight,想要增加新的条件和上一行对仗就行。
</spoiler>
示例 1:鯊鲨攻击附近怪物和鲲鲲
在这个场景里,我们想在城市的入口生成一些鯊鲨,用以清除赶走附近乱晃的太近的鲲鲲,你可以使用一个伪装成村民的铁傀儡,但是它们的 AI 更难控制,而且它们的击退特效对怪物也不是很公平,所以我们要使用 MythicMobs 的自定义 AI 来完成这件事。
首先,我们需要一只生物来守护我们的城镇。让我们创建一个伪装成村民的骷髅,并给它装备剑。
鯊鲨.yml |
---|
鯊鲨: 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 |
如果我们将这个生物放入刷怪点,它将攻击所有的玩家,所以我们需要调整一下,让它更加友善。
鯊鲨.yml |
---|
鯊鲨: Mobtype: skeleton Display: '&E一只鯊鲨' Health: 500 Damage: 5 Equipment: - 鯊鲨剑:0 Faction: 鯊鲨 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 |
- 现在这个生物会攻击其他生物,也会攻击攻击它的生物(比如一些无良玩家),在攻击的时候也会主动开门。
- 这解决了一半的问题。下一步,我们需要保证城墙外游荡的生物会主动攻击我们的鯊鲨。
- 在下面我们设置了一个 Decaying Skeleton,并且也对他们进行设置。
鯊鲨.yml |
---|
鲲鲲: Mobtype: skeleton Display: '&a一只鲲鲲' Health: 15 Damage: 1 Faction: 鲲鲲 AIGoalSelectors: - 0 clear - 1 meleeattack AITargetSelectors: - 0 clear - 1 hurtbytarget - 2 players Equipment: - 鲲鲲头盔:4 - 鲲鲲剑:0 Options: Despawn: true FollowRange: 10 AlwaysShowName: false MovementSpeed: 0.2 PreventOtherDrops: true |
- 我们的 鲲鲲 现在在 鲲鲲 派系(与 鯊鲨 派系不同),这样他就会被鯊鲨主动攻击。并且添加 hurtbytarget 后,他们会反击来自守卫的攻击(然后死掉)。
- 其他在城镇附近生成的怪物,我们也会添加相同的 AI ,这样这些生物就有了与守卫不同的派系。
- 现在在我们生成我们的刷怪点后,它会守卫村庄,忽略玩家(只要他们不去主动招惹)。
- 其他更多的设置,比如很短的攻击距离和很短的跟随距离,会保证他们不会乱搞,而是杀死那些可以获得经验和掉落的生物。我们也添加了 PreventMobKillDrops,来防止无良玩家刷东西。
示例 2:好鲲鲲和坏鲲鲲互相攻击
- 在真实世界里,我们有两个派系:好鲲鲲和坏鲲鲲都不是很喜欢对方。我们创建了一个战场,但是它们都是用默认 AI,没有做太多的战斗。
- 我们可以使用 MythicMobs 的自定义 AI 来实现这个功能,这样它们就会主动互相攻击,并且也会攻击晃进战场的玩家。
让我们创建一个好鲲鲲生物和一个坏鲲鲲生物。
<spoiler>
好鲲鲲: Mobtype: villagezombie Display: '&a一只好鲲鲲' Health: 50 Damage: 4 Faction: 好鲲鲲派系 AIGoalSelectors: - 0 clear - 1 opendoors - 2 meleeattack AITargetSelectors: - 0 clear - 1 hurtbytarget - 2 specificfactionmonsters 坏鲲鲲派系 - 3 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: - 0 clear - 1 opendoors - 2 meleeattack AITargetSelectors: - 0 clear - 1 hurtbytarget - 2 specificfactionmonsters 好鲲鲲派系 - 3 players Equipment: Equipment: - 坏鲲鲲头盔:4 - 坏鲲鲲胸甲:3 - 坏鲲鲲护腿:2 - 坏鲲鲲靴子:1 - 坏鲲鲲剑:0 Skills: - skill 坏鲲鲲 ~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 Targets 清空。
- 第一是 hurtbytarget 选择器,之前也提过,这是一个很好的反击设置,这样这个生物就不会被利用。
- 下一步是 specifictargetfaction 选择器,选择互相的阵营。设置优先度为 2,这样它们没有在战斗的时候,就会主动攻击对方。
- 最后是 players 玩家选择器,如果附近没有坏鲲鲲/好鲲鲲,它们就会攻击玩家。
- 最后记得添加 PreventMobKillDrops 为 true,这样路过的玩家就不会捡到满地的掉落物和经验。
- 如果我们要配置其他的好鲲鲲和坏鲲鲲类型的生物,我们需要复制粘贴他们的 AI 设置,这样它们就会跟好鲲鲲/坏鲲鲲的 AI 相同了。
</spoiler>
制作一个全额反伤的技能
玩家:玩个球
- 注意,这里的ap_combatpower是插件Attribute_Plus的玩家战斗力属性,属性插件的属性只能作用于玩家,作用怪物则显示null
<spoiler> 鲲鲲:
Type: Zombie Skills: - skill{s=玩家激活反伤} @self ~onDamaged
注释:玩家在攻击时会给自己设置一个变量,并且通过message提示自己这个数值的大小(也可用于制作者检测变量设置是否成功),并对怪物造成该数值翻倍的伤害. 玩家激活反伤:
Skills: - sudoskill{s=激活反伤} @Target
激活反伤:
Skills: - setvariable{type=STRING;var=caster.dm;value="ap_combatpower"} @Self - message{m="&c你受到了防反核心的反伤伤害,共计: <caster.var.dm> !"} @Self - damage{a='<caster.var.dm>'} @Self - heal{a='<caster.var.dm>'} @MIR{r=100;t=鲲鲲}
注释:鲲鲲让玩家执行“激活反伤”技能,激活后玩家将给自己设置为一个变量<caster.dm>,接着用message提示这个变量的数值(也可制作者用于检测是否成功),并让玩家受到自己攻击等量的伤害.最后,100半径内的MythicMobs内部名为“鲲鲲”的怪物将会恢复玩家攻击的等量血量.
</spoiler>
制作一个护盾机制,高仿Warframe!
仓鼠:精 甲 狂 喜 护盾
更新日志
相关链接
MythicMobs技能分页:http://mineplugin.org/MythicMobs%E6%8A%80%E8%83%BD
MythicMobs官网:http://www.mythicmobs.net/index.php
MythicMobs使用手册:http://www.mythicmobs.net/manual/doku.php
MythicMobs论坛:http://www.mythicmobs.net/index.php?forums/
MythicMobsExtension功能拓展插件:http://mineplugin.org/MythicMobsExtension
MythicMobs论坛教程:http://mineplugin.org/MythicMobs/%E8%AE%BA%E5%9D%9B%E6%95%99%E7%A8%8B
授权声明
本页内容翻译/搬运自MythicMobs插件手册
授权方式为GNU Free Documentation License 1.3