- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
MythicMobs:修订间差异
小 (→颜色代码: 添加字体颜色) |
(条件) |
||
第1,633行: | 第1,633行: | ||
===例子=== | ===例子=== | ||
<spoiler> | <spoiler> | ||
''' | '''注意:设置为1的话就是受到全数伤害<br/>高于1就会受到比原本多的伤害<br/>低于1就是减少等值伤害<br/>0为免疫此伤害<br/>设为负数值的话就会进行回血,但若此生物原本免疫此伤害便不会凑效(比如铁傀儡免疫掉落伤,烈焰人免疫烧伤/岩浆)''' | ||
*那么我们开始从一个基本的框架弄起 | *那么我们开始从一个基本的框架弄起 | ||
<pre> | <pre> | ||
第1,710行: | 第1,710行: | ||
| 0 || 主手槽。渲染任何物品 | | 0 || 主手槽。渲染任何物品 | ||
|} | |} | ||
'' | ''非主手槽(5)于2.3.2版本加入''<br/> | ||
例子 | 例子 | ||
<spoiler> | <spoiler> | ||
第2,040行: | 第2,040行: | ||
=技能(Skills)&变量= | =技能(Skills)&变量= | ||
*一列可用的[[MythicMobs技能]]详细列表 | *一列可用的'''[[MythicMobs技能]]'''详细列表 | ||
*技能为MM插件的一大特点。所有生物都可以根据不同情况发动技能。技能的编写十分简单且灵活,很容易就能编辑出一个Minecraft下的MMORPGs类型的BOSS | *技能为MM插件的一大特点。所有生物都可以根据不同情况发动技能。技能的编写十分简单且灵活,很容易就能编辑出一个Minecraft下的MMORPGs类型的BOSS | ||
*一个完整的技能由以下几个构成<br/>基本类技能Mechanics<br/>特效类技能Effects<br/>技能目标对象Targeters<br/>简易的技能触发要求Triggers<br/>更高级的触发条件Conditions | *一个完整的技能由以下几个构成<br/>基本类技能Mechanics<br/>特效类技能Effects<br/>技能目标对象Targeters<br/>简易的技能触发要求Triggers<br/>更高级的触发条件Conditions | ||
第2,555行: | 第2,555行: | ||
*随机生成 | *随机生成 | ||
当Conditions下有多个条件时,必须按顺序满足所有条件才可执行。那些允许使用'''/'''的条件只要满足其定义中的其中一个即视为匹配此条件 | 当Conditions下有多个条件时,必须按顺序满足所有条件才可执行。那些允许使用'''/'''的条件只要满足其定义中的其中一个即视为匹配此条件 | ||
=== | ===条件是如何运作的=== | ||
'''条件的种类:'''<br/> | |||
条件可分为三种<br/> | |||
#条件(Conditions) - 以技能使用者为目标 | |||
#目标条件(TargetConditions) - 以技能对象为目标 | |||
#触发条件(TriggerConditions) - 以触发技能的对象为目标 | |||
<br/> | |||
要注意的是,并不是所有条件要求都适用于这三种类型的条件。比如, | |||
<pre> | |||
Conditions: | |||
- globalscore{objective=Test;v=>10} | |||
</pre> | |||
此条件并没有任何特殊的目标,所以只能在Conditions下运作<br/> | |||
<br/> | |||
<pre> | |||
TargetConditions: | |||
- lineofsight false | |||
</pre> | |||
而这个并不能填写在Conditions下,因为''lineofsight''需要目标对象才能执行,所以只能填写在TargetConditions或TriggerConditions下<br/> | |||
'''格式:'''<br/> | |||
从4.0.0起,所有条件的新格式大致如下 | |||
<pre> | |||
Conditions: | |||
- 条件 [变量] | |||
- 条件 [变量] [条件动作] | |||
- 条件 [变量] [条件动作] [条件动作的变量] | |||
- 条件{变量1=数值;变量2=数值} [条件动作] [条件动作的变量] | |||
</pre> | |||
这个新的'''条件动作'''可用于在满足/不满足条件的情况下,是否使用技能。例子如下 | |||
<pre> | |||
Conditions: | |||
- day required | |||
- stance defensive power 0.5 | |||
- stance{stance=defensive} power 0.5 | |||
- score{objective=test;value=>20} cancel | |||
- haspotioneffect{type=POISON;level=>0;duration=0 to 100} true | |||
</pre> | |||
'''条件动作'''<br/> | |||
新增的条件动作使我们能在条件上有更多的修改空间。<br/> | |||
比如,新版允许在满足/不满足条件的情况下执行...而旧版的条件要求只会在满足条件的情况下执行 | |||
*以下为一列条件动作 | |||
**'''reqiured'''/'''true'''(默认) - 当满足条件时,执行技能 | |||
**'''cancel'''/'''false''' - 当满足条件时,不执行技能 | |||
**'''power [数值]''' - 调整技能的伤害 (power 2.0 会使技能的威力翻倍) | |||
**'''cast [技能]''' - <span style="color:red">未实现</span> 满足条件时,使用额外的指定技能 | |||
**'''castinstead [技能]''' - <span style="color:red">未实现</span> 满足条件时,使用指定技能替代原定技能 | |||
===不选取目标类条件=== | |||
*needtext | *needtext | ||
第2,561行: | 第2,607行: | ||
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■书签 | ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■书签 | ||
===目标/触发类条件=== | ===目标/触发类条件=== |
2017年4月20日 (四) 09:03的版本
外文名 | 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] |
|
AttackSpeed | [number] |
|
Collidable | [true/false] |
|
Despawn | [true/false] |
|
FollowRange | [value] |
|
Glowing | [true/false] |
|
Invincible | [true/false] |
|
KnockbackResistance | [number] |
|
MaxCombatDistance | [number] |
|
MovementSpeed | [number] |
|
NoAI | [true/false] |
|
NoDamageTicks | [number] |
|
NoGravity | [true/false] |
|
Persistent | [true/false] |
|
PreventItemPickup | [true/false] |
|
PreventLeashing | [true/false] |
|
PreventMobKillDrops | [true/false] |
|
PreventOtherDrops | [true/false] |
|
PreventRandomEquipment | [true/false] |
|
PreventRenaming | [true/false] |
|
RepeatAllSkills | [true/false] |
|
ShowHealth | [true/false] |
|
Silent | [true/false] |
|
特定设置
盔甲架(Armor Stands) | ||
---|---|---|
项 | 参数 | 备注 |
HasArms | [true/false] | 盔甲架是否有手 2.5前失效
|
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] | 是否为鸡骑士
|
爬行者(Creepers) | ||
---|---|---|
项 | 参数 | 备注 |
ExplosionRadius | [number] | 爆炸范围 |
FuseTicks | [number] | 引爆时间(刻) |
SuperCharged | [true/false] | 是否为充能爬行者
|
PreventSuicide | [true/false] | 爆炸后是否不死亡
|
末影人(Endermen) | ||
---|---|---|
项 | 参数 | 备注 |
PreventTeleport | [true/false] | 是否阻止其传送
|
掉落方块(Falling Blocks) | ||
---|---|---|
项 | 参数 | 备注 |
Block | [方块种类] | 设定方块的种类
|
BlockData | [Number] | 方块的附加值
|
马(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] | 是否装备上鞍
|
兔子(Rabbits) | ||
---|---|---|
项 | 参数 | 备注 |
RabbitType | [rabbit_type] | 兔子的种类
|
Baby | [true/false] | 是否为小兔子
|
蠹虫(Silverfish) | ||
---|---|---|
项 | 参数 | 备注 |
PreventBlockInfection | [true/false] | 阻止其影响方块
|
雪傀儡(Snowmen) | ||
---|---|---|
项 | 参数 | 备注 |
PreventSnowFormation | [true/false] | 阻止其生成雪片
|
TNT | ||
---|---|---|
项 | 参数 | 备注 |
FuseTicks | [number] | 引爆时间(刻)
|
ExplosionYield | [number] | 爆炸的强度
|
Incendiary | [true/false] | 爆炸是否点燃物品
|
村民(Villagers) | ||
---|---|---|
项 | 参数 | 备注 |
VillagerType | [type] | 村民的职业
|
僵尸类(Zombies) | ||
---|---|---|
项 | 参数 | 备注 |
ReinforcementsChance | [number] | 增援几率
|
僵尸村民(Zombie Villagers) | ||
---|---|---|
项 | 参数 | 备注 |
Profession | [type] | 僵尸村民的职业(2.4)
|
特定类设置
可繁殖类(Breedable mobs) | ||
---|---|---|
项 | 参数 | 备注 |
Age | [number] | 确定生物的岁数
|
AgeLock | [true/false] | 是否锁定岁数
|
可染色类(Colorable Mobs) 用于羊和狼 | ||
---|---|---|
项 | 参数 | 备注 |
Color | [number] | 修改羊毛或项圈的颜色
|
中立类(Neutral mobs)用于狼和猪人 | ||
---|---|---|
项 | 参数 | 备注 |
Angry | [true/false] | 生成时是否被激怒
|
史莱姆一族(Slimes & Magma Cubes) | ||
---|---|---|
项 | 参数 | 备注 |
PreventSlimeSplit | [true/false] | 是否阻止其进行分裂 |
Size | [number] | 史莱姆的大小
|
可被驯服类(Tameable Mobs) | ||
---|---|---|
项 | 参数 | 备注 |
Tameable | [true/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对象目标,确定生物所选取的攻击对象或技能对象
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
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
|
示例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
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
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
|
示例2:兽人vs哥布林 |
---|
*设想一下,一个世界里有两个种群,哥布林和兽人,而他们对对方一直以来都不太友善。
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
|
行动选择器(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>
注意:设置为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>
决定物品所在的装备槽
- <item>
槽 | 描述 |
---|---|
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
- 每级提升掉落详见DropsPerLevel
- 下面可改的数据会根据当前级别增加到原来的基础之上
- 若是生物配置下没有设定其基本的几项属性可能会不能正常使用
项 | 中文 |
---|---|
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)
- 使生物看着像另一种生物,物品,方块或其他实体
- 需要LibsDisguises和ProtocolLib插件
还有某些版本能完美运行,有些却很差强人意...自行体验
<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>
伪装可修改项 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
示例 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 |
例子 |
---|
LivingIron: Type: Skeleton Disguise: Type: BLOCK Block: IRON_BLOCK BlockData: 0 ShowName: true
PossessedSword: Type: Skeleton Disguise: Type: ITEM Item: IRON_SWORD ItemData: 0
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: - 技能名字{ 技能修改项=数值; 技能修改项=数值; 技能修改项=数值; }
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 |
变量(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> | 返还记分板objective下dummyname的分数(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]
- 若站在某方块上时
- 方块名字列表
- 允许使用/进行分隔
- onblock grass
- 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用于判定当处于/不处于某个情况时执行某项事件。条件的填写方法见例子
条件可用于以下位置 非所有条件适用于所有地方
当Conditions下有多个条件时,必须按顺序满足所有条件才可执行。那些允许使用/的条件只要满足其定义中的其中一个即视为匹配此条件
条件是如何运作的
条件的种类:
条件可分为三种
- 条件(Conditions) - 以技能使用者为目标
- 目标条件(TargetConditions) - 以技能对象为目标
- 触发条件(TriggerConditions) - 以触发技能的对象为目标
要注意的是,并不是所有条件要求都适用于这三种类型的条件。比如,
Conditions: - globalscore{objective=Test;v=>10}
此条件并没有任何特殊的目标,所以只能在Conditions下运作
TargetConditions: - lineofsight false
而这个并不能填写在Conditions下,因为lineofsight需要目标对象才能执行,所以只能填写在TargetConditions或TriggerConditions下
格式:
从4.0.0起,所有条件的新格式大致如下
Conditions: - 条件 [变量] - 条件 [变量] [条件动作] - 条件 [变量] [条件动作] [条件动作的变量] - 条件{变量1=数值;变量2=数值} [条件动作] [条件动作的变量]
这个新的条件动作可用于在满足/不满足条件的情况下,是否使用技能。例子如下
Conditions: - day required - stance defensive power 0.5 - stance{stance=defensive} power 0.5 - score{objective=test;value=>20} cancel - haspotioneffect{type=POISON;level=>0;duration=0 to 100} true
条件动作
新增的条件动作使我们能在条件上有更多的修改空间。
比如,新版允许在满足/不满足条件的情况下执行...而旧版的条件要求只会在满足条件的情况下执行
- 以下为一列条件动作
- reqiured/true(默认) - 当满足条件时,执行技能
- cancel/false - 当满足条件时,不执行技能
- power [数值] - 调整技能的伤害 (power 2.0 会使技能的威力翻倍)
- cast [技能] - 未实现 满足条件时,使用额外的指定技能
- castinstead [技能] - 未实现 满足条件时,使用指定技能替代原定技能
不选取目标类条件
- needtext
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■书签
目标/触发类条件
- needtext
基本类条件
- needtext
例子 |
---|
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} |
物品(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