欢迎来到Minecraft插件百科!
对百科编辑一脸懵逼?
帮助:快速入门
带您快速熟悉百科编辑!
因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
查看“MythicMobs”的源代码
←
MythicMobs
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于这些用户组的用户执行:
用户
、
自动确认用户
、
巡查者
您可以查看和复制此页面的源代码。
{{待搬运}} {{Bukkit Plugin Infobox |图标=[[文件:MythicMobs_logo.png|居中|无]] |插件名=MythicMobs |版本=v2.6.0 |前置插件=无 |兼容服务端版本=1.6.2-1.11 |源地址=http://mythicmobs.net/manual/doku.php}} [[Category:角色]][[Category:娱乐]][[Category:机械]][[Category:综合]] =概览= MythicMobs(MM)插件可以充分修改服务器内原版生物的各项属性。通过修改原版生物,从最简单的血量/伤害的提升,到修改生物的目标习性,乃至赋予生物一个强大技能。<br/> 制作出独特的生物,BOSS,和其他有趣的生物~ 在RPG服务器内制作出具有挑战性的BOSS碾压玩家不在是梦~<br/> 此插件允许你给予生物:<br/> *[[#.E6.8A.80.E8.83.BD.28Skills.29.26.E5.8F.98.E9.87.8F|技能]]——赋予自定义的技能。(发动条件,冷却时间,目标)<br/> *[[#.E9.80.89.E9.A1.B9.28Options.29|属性]]——修改属性。(血量,伤害量,移动速度,攻击范围)<br/> *特效——使用音效,粒子效果和其他特效。<br/> *[[#.E8.A3.85.E5.A4.87.28Equipment.29|装备]]——自定义属性的装备和掉落表。<br/> *[[#.E4.BC.A4.E5.AE.B3.E8.B0.83.E6.95.B4.28DamageModifiers.29|伤害调整]]——调整伤害对生物的影响。(免疫溺水,受到箭的伤害减半,烧伤恢复血量...)<br/> *[[#.E7.94.9F.E6.88.90.E7.82.B9.28Spawners.29|生成控制]]——定点,定时,特殊条件,自定义属性...<br/> *[[#.E7.AD.89.E7.BA.A7.E8.B0.83.E6.95.B4.E5.80.BC.28LevelModifiers.29|等级制度]]——根据等级提升生物的属性和能力值。<br/> *[[#.E5.A8.81.E8.83.81.E5.BA.A6.28Threat_Tables.29|威胁度]]——更好的攻击目标选择。<br/> *[[#.E8.87.AA.E5.AE.9A.E4.B9.89AI|自定义AI]]——自定义生物适当的行动目标和首要/次要攻击目标。<br/> *[[#.E6.B4.BE.E5.88.AB.28Faction.29|派别系统]]——根据所在的派别,结合自定义AI,使生物学会攻击不同的派别,又或者与玩家站在同一站线。<br/> *[[#.E4.BC.AA.E8.A3.85.28Disguise.29|伪装]]——使生物幻化为任何东西~ <span style="color:red">需要LibsDisguises和ProtocolLib插件</span><br/> *插件兼容——兼容各种流行的插件!<br/> *更多功能尽情期待~<br/> =配置文件(config.yml)= 编辑yml格式文件时,可以使用#符号留言或标记。<br/> <pre> # 这是一条留言。 </pre> 如果yml内含有中文,Windows服务端需转码成ANSI,Linux服务端需转码成UTF8以避免文字乱码。<br/> 只要保证配置文件的后缀为yml并且此文件为正确可读的yml格式,任何yml配置文件(config.yml除外)都可以被重命名为任意名字。这样就可以更方便地管理自己的配置文件,比如 Tier1_mobs.yml,Tier2_mobs.yml。<br/> {{Hide|标题=config.yml文本 |内容= <pre> 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> </pre> }} <spoiler> ==基本项—General== {| class="wikitable" |- ! 项 !! 参数 !! 描述 |- | AllowMetrics || [true/false] || 是否发送度量数据给开发者 |- | CheckForUpdates || [true/false] || 是否自动检测插件最新版本 |- | CompatibilityMode || [true/false] || 是否开启插件兼容模式<br/>若和其他插件有冲突的话启用此模式或许能解决插件冲突问题 |- | DebugLevel || [''number''] || 调试等级,等级越高显示的信息就越多<br/>启用的话会关闭妨碍调试的功能,如随机生成,生物生成,和其他随机的功能<br/>(范围:0 ~ 4)<br/>'''0:不检测'''<br/>'''1:最低级'''<br/>在生成点显示火焰粒子。(很实用~)<br/>插件启动或重载时记录所有生成点<br/>'''2:中等级'''<br/>记录技能的发动,生物的死亡,掉落表,等。<br/>插件启动或重载时记录所有物品,技能,和掉落表。<br/>记录异常技能助于解决问题。<br/>最高级别的有用Debug等级<br/>'''3:重量级'''<br/>'''4:过量信息'''<br/> |- | ErrorLogging || [true/false] || 是否保存插件报错日志<br/>保存路径:\MythicMobs\Error Logs\ |- | UseVolatileFeatures || [true/false] || 是否使用易变特性<br/>如果使用的是不支持的Bukkit或奇怪的Spigot版本,可尝试禁用此项 |} ==时钟—Clock== {| class="wikitable" |- ! 项 !! 参数 !! 描述 |- | ClockInterval || [''number''] || 设置技能所允许的最低发动间隔,修改此项后必须重启插件,建议数值以5递增<br/>(只适用于“~onTimer:xx”。单位:刻) |- | SaveInterval || [''number''] || 保存插件数据的时间间隔(单位:分钟) |- | SpawnsInterval || [''number''] || 生成间隔(单位:秒) |- | ScannerInterval || [''number''] || 检测区块和清除非加载区块生物的间隔(单位:秒) |- | CleanupInterval || [''number''] || 清除间隔(单位:秒) |} ==分支—Components== {| class="wikitable" |- ! 项 !! 参数 !! 描述 |- | CustomSpawners || [true/false] || 是否启用此插件怪物的生成 |- | RandomSpawning || [true/false] || 是否启用此插件怪物的随机生成 |} ==生物—Mobs== {| class="wikitable" |- ! 项 !! 参数 !! 描述 |- | EnableAIModifiers || [true/false] || 是否启用自定义AI |- | EnableTimerSkills || [true/false] || 是否启用计时技能 |- | EnableThreatTables || [true/false] || 是否启用威胁度 |- | EnablePlayerFactions || [true/false] || 是否启用player为可用派别 |- | EnableLegacySkills || [true/false] || 是否识别旧版MythicMobs(2.0版本之前)插件的技能格式 |- | KillMessagePrefix || '[''text'']' || 设置MM生物杀死玩家时显示的信息前缀 |- | '''ShowHealth'''<br/>Radius<br/>Format || <br/>[''number'']<br/>'[''text'']' || 血量显示项<br/>发送生物血量信息的半径范围<br/>血量信息的格式,可使用[[#.E5.8F.98.E9.87.8F.28Variables.29|变量]] |- | DefaultLevelModifiers || || 默认每提升1级的各项上升数值 |- | '''RandomSpawning'''<br/>GenerateSpawnPoints<br/>MaxMobsPerChunk<br/>SpawnRadiusPerPlayer<br/>SpawnRadiusPerPlayerY<br/>DespawnLazyRandomMobs<br/>MaxGenerationTime<br/>PointsPerSecond || <br/>[true/false]<br/>[''number'']<br/>[''number'']<br/>[''number'']<br/>[true/false]<br/>[''number'']<br/>[''number''] || 随机生成项<br/>是否生成生成点<br/>单个区块所允许生物的最大值<br/>以玩家为中心所生成生物的半径范围(水平方向。单位:方块)<br/>以玩家为中心所生成生物的半径范围(Y轴方向。单位:方块)<br/>是否清除非加载区块的生物<br/>最大生成时间<br/>每秒点数(陆地/天空/海/岩浆/地面) |} ==兼容项—Compatibility== {| class="wikitable" |- ! 项 !! 参数 !! 描述 |- | '''Heroes'''<br/>Enabled<br/>ShowXPMessage<br/>XPMessageFormat || <br/>[true/false]<br/>[true/false]<br/>'[''text'']' || <br/>是否启用<br/>是否显示经验信息<br/>显示经验信息的格式,可使用[[#.E5.8F.98.E9.87.8F.28Variables.29|变量]] |- | '''McMMO'''<br/>Enabled<br/>ShowXPMessage<br/>XPMessageFormat || <br/>[true/false]<br/>[true/false]<br/>'[''text'']' || <br/>是否启用<br/>是否显示经验信息<br/>显示经验信息的格式,可使用[[#.E5.8F.98.E9.87.8F.28Variables.29|变量]] |- | '''SkillAPI'''<br/>Enabled<br/>ShowXPMessage<br/>XPMessageFormat || <br/>[true/false]<br/>[true/false]<br/>'[''text'']' || <br/>是否启用<br/>是否显示经验信息<br/>显示经验信息的格式,可使用[[#.E5.8F.98.E9.87.8F.28Variables.29|变量]] |- | '''Vault'''<br/>Enabled<br/>ShowMoneyMessage<br/>MoneyMessageFormat || <br/>[true/false]<br/>[true/false]<br/>'[''text'']' || <br/>是否启用<br/>是否显示金钱信息。<br/>显示金钱信息的格式,可使用[[#.E5.8F.98.E9.87.8F.28Variables.29|变量]] |} </spoiler> =命令&权限= 输入/mythicmobs会显示所有可用的命令。每个命令也会提示你如何使用。<br/>名字name和显示名字DisplayName并不是同一个东西。<br/>'''[ ]'''内的参数为必填,'''< >'''内的参数为选填。 <spoiler> ==基本命令== {| class="wikitable" |- ! 命令 !! 参数 !! 描述 |- | /mythicmobs<br/>/mm || || 显示所有可用命令 |- | /mm debug<br/>/mm d || [''level''] || 调试等级 |- | /mm debugmode || [true/false] || 是否启用调试模式 |- | /mm reload<br/>/mm r || || 插件重载 |- | /mm save || || 强行保存 |} ==物品命令== {| class="wikitable" |- ! 命令 !! 参数 !! 描述 |- | /mm items<br/>/mm i || || 显示所有物品相关的命令 |- | /mm items get || [''物品''] <''数量''> || 给予自己一个插件配置文件下的物品 |- | /mm items give || [''玩家''] [''物品''] <''数量''> || 给予特定玩家一个插件配置文件下的物品 |- | /mm items list || || 列出成功读取的物品 |} ==生物命令== {| class="wikitable" |- ! 命令 !! 参数 !! 描述 |- | /mm mobs<br/>/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 || || 显示多少已加载的生物(数量) |} ==刷怪蛋命令== {| class="wikitable" |- ! 命令 !! 参数 !! 描述 |- | /mm egg<br/>/mm e || || 显示所有刷怪蛋相关的命令 |- | /mm egg get || [''生物''] <''数量''> || 给予自己特定生物的刷怪蛋 |- | /mm egg give || [''玩家''] [''生物''] <''数量''> || 给予特定玩家特定生物的刷怪蛋 |} ==生成点命令== 大部分情况下,生成点配置识别以下通配符。 *<nowiki>?为单个字母的通配符</nowiki><br/><nowiki>使用"/mm s set ?at leashrange 32"会使生成的怪物名字为Cat,Rat,Fat等</nowiki> *<nowiki>*为任意数量的通配符</nowiki><br/><nowiki>使用"/mm s set T* leashrange 32"会使所有名字T开头的生成点的leashrange设置为32</nowiki> *<nowiki>命令中的生成点名字输入*的话,代表所有生成点的名字</nowiki> {| class="wikitable" |- ! 命令 !! 参数 !! 描述 |- | /mm spawners<br/>/mm s || || 显示所有生成点相关命令 |- | /mm s create || [''生成点''] [''生物''] || 在玩家位置生成新的生成点<br/>''生物''为配置文件下的生物名字,非显示名字<br/>'''例子:'''/mm s create Ruins_Skeleton1 DecayingSkeleton |- | /mm s set || [''生成点''] [''设置''] [''数值''] || 修改生成点的设置<br/><span style="color:red">暂无详情</span> |- | /mm s addcondition || [''生成点''] [''条件''] [''数值''] || 添加生成点条件 |- | /mm s removecondition || [''生成点''] [''条件''] || 删除生成点条件<br/>'''例子:'''/mm s removecondition Ruins_Skeleton1 outside |- | /mm s info || [''生成点''] || 显示生成点的详细信息 |- | /mm s listnear || <范围> || 列出范围内所有生成点(单位:方块半径) |- | /mm s resettimers || [''生成点''] || 重置生成点的冷却时间 |- | /mm s spawn || [''生物''] || 创建一个特定生物的生成点 |- | /mm s cut || [''关键字''] || 剪切生成点<br/>'''例子:'''/mm s cut g:BoneCastle<br/>剪切所有BoneCastle群下的生成点<br/>'''例子:'''/mm s cut r:200<br/>剪切半径200格范围内的所有生成点<br/>'''例子:'''/mm s cut Elementals_*<br/>剪切所有名字以Elementals_的生成点<br/>/mm s cut *<br/>剪切所有生成点,慎用 |- | /mm s paste || || 粘贴生成点到相对坐标下<br/>可以多次粘贴,不过每次都会替换掉前一次的粘贴(不重复) |- | /mm s undo || || 撤回上一次剪切/粘贴动作<br/>只在当前剪切动作有效。若有新的剪切动作以新的进行撤回 |} ==实体测试命令== {| class="wikitable" |- |/mm u testeffect [''技能语法''] |} 使用一个特效。例子: {| class="wikitable" |/mm u testeffect effect:particles{particle=witchMagic;amount=20;speed=0.7} |} ---- {| class="wikitable" |- |/mm u testskill [目标] [技能] |} *<span style="color:red">目前无效</span> *目标为目标选择器,target,playersinradius... *使用一个技能。例子: {| class="wikitable" |/mm u testskill target lightning |} ==信号命令== {| class="wikitable" |- |/mm signal <''UUID''> <''信号''> |} *用于发送给生物一个特定的信号,从而触发其技能(~onSignal[''signal'']) *只在输入生物的UUID时有效,输入生物名字无效 *通常配合/tellraw使用 *此命令对所有玩家开放使用。然而因为无法知道生物的UUID和信号的名字,普通玩家并不可以滥用此命令 ==权限== '''基本权限''' *'''mythicmobs.admin'''<br/>给予使用所有此插件命令的权限。 *'''mythicmobs.signal'''<br/>给予使用"/mm signal <mob.uuid> <signal>"此命令的权限。 </spoiler> =生物(Mobs)= 大部分为选填项,也就是说没必要把每个项都列入配置内。<br/>以下为一个实体生物可修改的项示例和例子。<br/> <spoiler> {| style="background-color:#E6E6E6;" border="1" cellspacing="0" cellpadding="15" class="wikitable" |[[#.E7.94.9F.E7.89.A9.E9.85.8D.E7.BD.AE.E5.90.8D.E5.AD.97.28internal_mobname.29|internal_mobname:]]<br/>[[#.E7.94.9F.E7.89.A9.E7.A7.8D.E7.B1.BB.28Type.29| Type:]]<br/>[[#.E5.90.8D.E5.AD.97.E6.98.BE.E7.A4.BA.28Display.29| Display:]]<br/>[[#.E8.A1.80.E9.87.8F.28Health.29| Health:]]<br/>[[#.E4.BC.A4.E5.AE.B3.28Damage.29| Damage:]]<br/>[[#.E9.98.B2.E5.BE.A1.28Armor.29| Armor:]]<br/>[[#Boss.E8.A1.80.E6.9D.A1.28BossBar.29| BossBar:]]<br/>[[#.E6.B4.BE.E5.88.AB.28Faction.29| Faction:]]<br/>[[#.E9.AA.91.E4.B9.98.28Mount.29| Mount:]]<br/>[[#.E9.80.89.E9.A1.B9.28Options.29| Options:]]<br/>[[#.E6.A8.A1.E5.9D.97.28Modules.29| Modules:]]<br/>[[#.E8.A1.8C.E5.8A.A8.E9.80.89.E6.8B.A9.E5.99.A8.28AIGoalSelectors.29| AIGoalSelectors:]]<br/>[[#.E7.9B.AE.E6.A0.87.E9.80.89.E6.8B.A9.E5.99.A8.28AITargetSelectors.29| AITargetSelectors:]]<br/>[[#.E6.8E.89.E8.90.BD.E8.AE.BE.E7.BD.AE.28Drops.29| Drops:]]<br/>[[#.E6.AF.8F.E7.BA.A7.E6.8E.89.E8.90.BD.28DropsPerLevel.29| DropsPerLevel:]]<br/>[[#.E4.BC.A4.E5.AE.B3.E8.B0.83.E6.95.B4.28DamageModifiers.29| DamageModifiers:]]<br/>[[#.E8.A3.85.E5.A4.87.28Equipment.29| Equipment:]]<br/>[[#.E6.AD.BB.E4.BA.A1.E4.BF.A1.E6.81.AF.28KillMessages.29| KillMessages:]]<br/>[[#.E7.AD.89.E7.BA.A7.E8.B0.83.E6.95.B4.E5.80.BC.28LevelModifiers.29| LevelModifiers:]]<br/>[[#.E4.BC.AA.E8.A3.85.28Disguise.29| Disguise:]]<br/>[[#.E6.8A.80.E8.83.BD.28Skills.29.26.E5.8F.98.E9.87.8F| Skills:]] ||super_zombie:<br/> Type: zombie<br/> Display: '&lSuper Zombie&r'<br/> Health: 200<br/> Damage: 14<br/> Armor: 10<br/> Faction: superb_zombies<br/> Mount: super_zombie_undead_horse<br/> Options:<br/> PreventOtherDrops: true<br/> PreventItemPickup: true<br/> Despawn: false<br/> KnockbackResistance: 0.25<br/> MovementSpeed: 0.25<br/> Modules:<br/> ThreatTable: false<br/> ImmunityTable: true<br/> AIGoalSelectors:<br/> - 0 clear<br/> - 1 meleeattack<br/> - 2 randomstroll<br/> AITargetSelectors:<br/> - 0 clear<br/> - 1 attacker<br/> - 2 players<br/> Drops:<br/> - diamond 1-3 1<br/> - exp 50 1<br/> - super_zombie_sword 1 1<br/> DropsPerLevel:<br/> - rotten_flesh 1-3 0.5<br/> - exp 10 1<br/> DamageModifiers:<br/> - ENTITY_ATTACK 0<br/> - PROJECTILE 1.25<br/> - MAGIC 1.75<br/> Equipment:<br/> - super_zombie_helmet:4<br/> - super_zombie_sword:0<br/> KillMessages:<br/> - '<target.name> was superbly slain by a <mob.name>'<br/> LevelModifiers:<br/> - Armor 0.05<br/> - MovementSpeed: 0.01<br/> - KnockbackResistance: 0.05<br/> - Health: 2<br/> - Damage: 1<br/> Disguise:<br/> Type: player<br/> Skin: '&lSuper Zombie&r'<br/> Player: jaylawl<br/> Skills:<br/> - throw{v=5;vy=5} @target ~onAttack 0.5<br/> - effect:sound{s=mob.zombie.hurt;v=1;p=0} @self ~onDamaged<br/> - effect:particles{p=cloud;a=50;s=0.05} @self ~onDeath |} </spoiler> ==生物配置名字(internal_mobname)== *此名字为插件读取生物时使用的名字 *区分大小写,识别字母和数字(还有下划线?) <pre> super_zombie: SuperZombie: superzombie: </pre> ==生物种类(Type)== *确定生物的类别 *不区分大小写 *Bukkit下注册的种类也可以使用,但不保证其可行性和兼容性''有好多没列出来 使用实体ID应该也是可以的'' *可识别的种类列表 <spoiler> {| class="wikitable" |- ! 英文名字 !! 中文名字 |- | 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> <pre> Type: zombie Type: SKELETON </pre> ==名字显示(Display)== *生物头上所显示的名字 *支持颜色代码和[[#.E5.8F.98.E9.87.8F.28Variables.29|变量]] *必须填写在撇号'内' *若想名字内显示'撇号,可以使用'的变量代码<&sq> <pre> Display: 'Super Zombie' Display: '&eSuper Zombie' Display: '&cSuper Zombie&r - <mob.level>' </pre> ==血量(Health)== *设置生物的最大血量 *此插件没有最大血量限制。<br/>然而Spigot有2048的最大限制,可在spigot.yml内修改 <pre> Health: 200 </pre> ==伤害(Damage)== *设置生物的基础近战攻击力 *1点伤害=0.5颗心 *不会涉及到近战以外的伤害,如弓箭、爆炸、恶魂火焰弹、药水等所造成的伤害。 <pre> Damage: 10 </pre> ==防御(Armor)== *减低生物所受到的伤害量 *1点伤害=0.5颗心 <pre> Armor: 7 </pre> ==Boss血条(BossBar)== *插件版本2.4或以上<br/>Minecraft 1.9或以上 *像末影龙那样显示生物的血条在屏幕上方 <pre> 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] </pre> ;Enabled—是否显示 ;Title—显示的名字 ;Range—显示的半径范围 ;Color—血条的颜色 :PINK,BLUE,RED,GREEN,YELLOW,PURPLE,WHITE<br/>区分大小写 ;Style—字体风格 :SOLID,SEGMENTED_6,SEGMENTED_10,SEGMENTED_12,SEGMENTED_20<br/>区分大小写 *CreateFog,DarkenSky和PlayMusic<span style="color:red">暂时不可用</span> <pre> Test: Type: creeper Display: '&cTest' Health: 20 BossBar: Enabled: true Title: 'Test' Range: 20 Color: RED Style: SOLID </pre> ==派别(Faction)== *设置生物所属的派别,主要用于编辑AI或技能的攻击目标 *区分大小写,识别字母和数字(还有下划线?) <pre> Faction: SuperZombies Faction: super_zombies </pre> ==骑乘(Mount)== *设置生物的骑乘,骑乘必须为MM下的配置生物 *设置完后,当生物生成时便会自行召唤并坐在骑乘上 <pre> Mount: super_zombie_horse </pre> ==选项(Options)== *修改或给予生物一系列的可修改项,如是否消失、击退抗性、跟踪范围、移动速度等(有很多哦...) <pre> VeryFastSkeleton: Type: skeleton Display: 'Very Fast Skeleton' Options: MovementSpeed: 0.3 NoDamageTicks: 50 </pre> ===选项详解=== <spoiler> {| border="1" cellpadding="8" cellspacing="0" ! colspan="3"|通用选项(Universal options) |- |'''项''' |'''参数''' |'''备注''' |- |'''AlwaysShowName''' |[true/false] | *'''是否就算没有望过去或被阻挡时也一直显示名字''' *等同于NBT标签 CustomNameVisible *MC 1.8或之前—尽限于盔甲架<br/>MC 1.9或之后—适用于任何实体 *默认设置为false |- |'''AttackSpeed''' |[''number''] | *'''设置生物的基本攻击速度''' *插件版本2.4或以上 *默认设置为原版速度 |- |'''Collidable''' |[true/false] | *'''是否开启碰装箱''' *默认设置为true *注意在MC内要设置碰装和碰装物为false才能保证不会发生碰装 |- |'''Despawn''' |[true/false] | *'''附近没有玩家时生物是否自动消失''' *若服务器内配置大量生物建议启用此项 *等同于NBT标签 PersistenceRequired *默认设置为true |- |'''FollowRange''' |[''value''] | *'''生物敌对状态的最大范围''' *同时是所能检测到玩家存在的最大范围 *默认设置为原版范围 |- |'''Glowing''' |[true/false] | *'''生物是否发光''' *插件版本2.4或以上 *默认设置为false |- |'''Invincible''' |[true/false] | *'''使生物免役所有伤害''' *不能被命令技能修改 *默认设置为false |- |'''KnockbackResistance''' |[''number''] | *'''设置生物的抗击退能力数值'''<br/>就算100%抗击退,还是会受击退附魔影响 *数值范围0 ~ 1 *0.1=10% 0.5=50% 1=100% *默认设置为0 |- |'''MaxCombatDistance''' |[''number''] | *'''设置生物不会被玩家伤害到的方块半径范围''' |- |'''MovementSpeed''' |[''number''] | *'''设置生物的移动速度''' *大部分生物被设置为0.2 *数值高于1会使其过快而难以攻击到生物 |- |'''NoAI''' |[true/false] | *'''生物是否拥有AI'''<br/>若设置为true的话会无视AIGoalSelectors下的设置 *插件版本2.2.1或以上 *和AIGoalSelectors相反,此项试用于末影龙和凋灵<br/>(''意义不明'') |- |'''NoDamageTicks''' |[''number''] | *'''设置生物被受伤后会暂时不接受伤害多少刻''' *若生物开启了伤害硬直,此项的无敌时间会以各个玩家分开计算,非原先的全局计算 *默认设置为10 |- |'''NoGravity''' |[true/false] | *'''生物是否没有重力''' *插件版本2.5或以上 MC 1.10或以上 *默认设置为false *此项设为true时,不能使用velocity技能 |- |'''Persistent''' |[true/false] | *'''防止生物被mm m kilall命令清除''' *生物仍然会自然消失若Despawn设为true *生物依然能被mm m kill和minecraft:kill命令清除 *默认设置为false |- |'''PreventItemPickup''' |[true/false] | *'''防止生物拾取掉落物''' *默认设置为true |- |'''PreventLeashing''' |[true/false] | *'''防止生物被拴绳捆绑''' *默认设置为true |- |'''PreventMobKillDrops''' |[true/false] | *'''防止生物间互杀时掉落物品''' *默认设置为false *<span style="color:red">2.3或之前存在"若玩家被此项设为true的生物所杀害,玩家的物品也不会掉落"的问题<br/>不要与gamerule keepInventory false一同使用<span><br/>于2.5版修复 |- |'''PreventOtherDrops''' |[true/false] | *'''防止生物掉落其原本的掉落物''' *默认设置为false |- |'''PreventRandomEquipment''' |[true/false] | *'''防止生物生成时随机佩带装备''' *默认设置为false |- |'''PreventRenaming''' |[true/false] | *'''防止被命名牌重命名''' *默认设置为true |- |'''RepeatAllSkills''' |[true/false] | *'''当血量恢复时,"带有血量%为发动条件的技能"能否被再次使用''' *默认设置为false |- |'''ShowHealth''' |[true/false] | *'''发送生物的血量信息到聊天框'''<br/>根据config.yml的show*health*radius下设置的范围<br/>和show*health*format下设置的显示格式 *默认设置为false |- |'''Silent''' |[true/false] | *生物是否使用原版音效<br/>(简单的说应该和NBT标签Silent一样) *默认设置为false |} <br/>'''特定设置''' {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|盔甲架(Armor Stands) |- |'''项''' |'''参数''' |'''备注''' |- |'''HasArms''' |[true/false] |'''盔甲架是否有手'''<br/>2.5前失效 *默认设置为false |- |'''HasGravity''' |[true/false] |'''盔甲架是否受重力影响''' *默认设置为true |- |'''Invisible''' |[true/false] |'''是否隐形''' *默认设置为false |- |'''ItemBody''' |[''MythicItem Name''] |'''胸部所装备的MM配置物品''' |- |'''ItemFeet''' |[''MythicItem Name''] |'''脚部所装备的MM配置物品''' |- |'''ItemHand''' |[''MythicItem Name''] |'''手上所装备的MM配置物品''' |- |'''ItemHead''' |[''MythicItem Name''] |'''头部所装备的MM配置物品''' |- |'''ItemLegs''' |[''MythicItem Name''] |'''腿部所装备的MM配置物品''' |- |'''Marker''' |[true/false] |'''盔甲架是否不能被破坏等活动''' |- |'''Small''' |[true/false] |'''是否为小型盔甲架''' *默认设置为false |- |'''Pose'''<br/>Head<br/>Body<br/>LeftArm<br/>RightArm<br/>LeftLeg<br/>RightLeg |[''0,0,0''] |'''设置各部位的旋转角度''' *默认设置为0,0,0 *角度识别范围,如下 <pre> 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 </pre> |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|鸡(Chicken) |- |'''项''' |'''参数''' |'''备注''' |- |'''Jockey''' |[true/false] |'''是否为鸡骑士''' *无实际效果,不过总比没有好~ *默认设置为false |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|爬行者(Creepers) |- |'''项''' |'''参数''' |'''备注''' |- |'''ExplosionRadius''' |[''number''] |'''爆炸范围''' |- |'''FuseTicks''' |[''number''] |'''引爆时间(刻)''' |- |'''SuperCharged''' |[true/false] |'''是否为充能爬行者''' *默认设置为false |- |'''PreventSuicide''' |[true/false] |'''爆炸后是否不死亡''' *默认设置为false |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|末影人(Endermen) |- |'''项''' |'''参数''' |'''备注''' |- |'''PreventTeleport''' |[true/false] |'''是否阻止其传送''' *''可能''适用于其他生物<br/>也可能阻止teleport技能 *默认设置为false |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|掉落方块(Falling Blocks) |- |'''项''' |'''参数''' |'''备注''' |- |'''Block''' |[''方块种类''] |'''设定方块的种类''' *默认设置为STONE |- |'''BlockData''' |[''Number''] |'''方块的附加值''' *默认设置为0 |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|马(Horses) |- |'''项''' |'''参数''' |'''备注''' |- |'''HorseArmor''' |[''armor_type''] |'''马铠的种类''' *IRON,GOLD或DIAMOND |- |'''HorseCarryingChest''' |[true/false] |'''是否背载箱子''' *用于确定驴是否背有箱子 *默认设置为false |- |'''HorseColor''' |[''horse_color''] |'''马的颜色''' *BLACK,BROWN,CHESTNUT,CREAMY,DARK_BROWN,GRAY或WHITE |- |'''HorseSaddled''' |[true/false] |'''是否装备上鞍''' *默认设置为false |- |'''HorseStyle''' |[''horse_style''] |'''马的皮肤纹路''' *BLACK_DOTS,WHITE,WHITE_DOTS,WHITEFIELD |- |'''HorseTamed''' |[true/false] |'''是否被驯化''' *默认设置为false |- |'''HorseType''' |[''type''] |'''马的种类''' *UNDEAD_HORSE,SKELETON_HORSE,MULE,DONKEY或HORSE<br/><span style="color:red">于MC 1.11移除,改写于Type下<span> *默认设置为HORSE |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|豹猫(Ocelots) |- |'''项''' |'''参数''' |'''备注''' |- |'''Ocelot''' |[''type''] |'''豹猫的种类''' *BLACK_CAT,RED_CAT,SIAMESE_CAT或WILD_OCELOT *默认设置为WILD_OCELOT |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|猪(Pigs) |- |'''项''' |'''参数''' |'''备注''' |- |'''Saddled''' |[true/false] |'''是否装备上鞍''' *默认设置为false |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|兔子(Rabbits) |- |'''项''' |'''参数''' |'''备注''' |- |'''RabbitType''' |[''rabbit_type''] |'''兔子的种类''' *BLACK,BLACK_AND_WHITE,BROWN,GOLD,SALT_AND_PEPPER,THE_KILLER_BUNNY或WHITE |- |'''Baby''' |[true/false] |'''是否为小兔子''' *默认设置为false *''不明存在意义''??? |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|蠹虫(Silverfish) |- |'''项''' |'''参数''' |'''备注''' |- |'''PreventBlockInfection''' |[true/false] |'''阻止其影响方块''' *默认设置为false |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|雪傀儡(Snowmen) |- |'''项''' |'''参数''' |'''备注''' |- |'''PreventSnowFormation''' |[true/false] |'''阻止其生成雪片''' *默认设置为false |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|TNT |- |'''项''' |'''参数''' |'''备注''' |- |'''FuseTicks''' |[''number''] |'''引爆时间(刻)''' *默认设置为-1 |- |'''ExplosionYield''' |[''number''] |'''爆炸的强度''' *默认设置为-1(无) |- |'''Incendiary''' |[true/false] |'''爆炸是否点燃物品''' *默认设置为false |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|村民(Villagers) |- |'''项''' |'''参数''' |'''备注''' |- |'''VillagerType''' |[''type''] |'''村民的职业''' *BLACKSMITH,BUTCHER,FARMER,LIBRARIAN或PRIEST *默认随机职业 |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|僵尸类(Zombies) |- |'''项''' |'''参数''' |'''备注''' |- |'''ReinforcementsChance''' |[''number''] |'''增援几率''' *受伤时附近生成僵尸的几率(0~1) *默认设置为0 |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|僵尸村民(Zombie Villagers) |- |'''项''' |'''参数''' |'''备注''' |- |'''Profession''' |[''type''] |'''僵尸村民的职业(2.4)''' *被治疗回村民时的职业 |} <br/>'''特定类设置''' {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|可繁殖类(Breedable mobs) |- |'''项''' |'''参数''' |'''备注''' |- |'''Age''' |[''number''] |'''确定生物的岁数''' *-1为幼仔,1为成年 *默认设置为1 *用于羊,猪,牛等身上 *使用过大的负数值调整生物的模型(不支持) |- |'''AgeLock''' |[true/false] |'''是否锁定岁数''' *默认设置为false *使用Age项的话要求设置此项 |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|可染色类(Colorable Mobs)<br/>用于羊和狼 |- |'''项''' |'''参数''' |'''备注''' |- |'''Color''' |[''number''] |'''修改羊毛或项圈的颜色''' *数值0 ~ 15 *'''''2.0.0插件参数为[http://minecraft.gamepedia.com/Wool#Block_state 颜色]的名字<br/>''''' |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|中立类(Neutral mobs)用于狼和猪人 |- |'''项''' |'''参数''' |'''备注''' |- |'''Angry''' |[true/false] |'''生成时是否被激怒''' *''因为Bukkit/Spigot的漏洞,狼生成时不会被激怒'' *''若想生成"被激怒"的狼,可使用AIGoalSelectors和AITargetSelectors'' |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|史莱姆一族(Slimes & Magma Cubes) |- |'''项''' |'''参数''' |'''备注''' |- |'''PreventSlimeSplit''' |[true/false] |'''是否阻止其进行分裂''' |- |'''Size''' |[''number''] |'''史莱姆的大小''' *一般为1 ~ 8之间 *可以设置得很大,然而会导致服务器较卡 |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|可被驯服类(Tameable Mobs) |- |'''项''' |'''参数''' |'''备注''' |- |'''Tameable''' |[true/false] |'''是否可被驯服''' *默认设置为false |} </spoiler> ==模块(Modules)== *设置启用/禁用威胁度(Threat Tables)和伤害硬直(Immunity Tables)模块 ===威胁度(Threat Tables)=== [[文件:MythicMobs_Threat_Tables.jpg|475px|thumb|right]] 威胁度用于控制生物的攻击目标。一般情况下原版的生物只会单纯地以最后一个伤害源为攻击目标。<br/>若是启用威胁度,生物便会记录各玩家对他所造成的伤害,并因此选择累计造成伤害最高的玩家为攻击目标。从而避免生物两头跑被调戏的尴尬局面。<br/>威胁度的几个内置功能让生物的目标选择能力看起来更聪明,并遵从一般MMORPG游戏下的规则。玩家通过造成伤害提升对生物的威胁度,若是远离BOSS便会降低威胁度。<br/>一段时间内超过生物的最大攻击范围(MaxCombatRange),离开当前世界,或退出游戏的话也会降低其威胁度。<br/>生物只会在新的威胁度超过当前攻击目标威胁度的110%时才会改变攻击目标。<br/>'''注意'''-启用威胁度的生物会无视AITargetSelectors下的设置。并且,启用的生物会尝试攻击任何对他造成伤害的实体。<br/> '''启用办法''':ThreatTable后面设为true <pre> BigScaryBoss: Type: zombie Display: '&6Zombie' Health: 20000 Modules: ThreatTable: true </pre> 威胁度的计算是全自动进行的。若想特意修改生物对某目标的威胁度,可通过Threat[[#.E6.8A.80.E8.83.BD.28Skills.29.26.E5.8F.98.E9.87.8F|技能]]进行修改。<br/>威胁度还拥有API,包括"嘲讽"和改变威胁的能力,若另一个插件作者有意修改技能或能力与威胁度的关系。 ===伤害硬直(Immunity Tables)=== 伤害硬直允许生物在受到伤害时记录各玩家的伤害免疫时间(NoDamageTicks),换句话说生物只会在'''每(默认)半秒的时间内受到同一个玩家的伤害'''。没开启伤害硬直的话就是'''每半秒的时间内受到伤害'''。其意义就是允许多个玩家同时或短时间内攻击生物时,生物会受到多次伤害计算。<br/> '''启用办法''':ImmunityTable后面设为true <pre> BigHealthBoss: Type: pig_zombie Display: '&6Hungry Hungry Piggy Zombie' Health: 20000 Modules: ImmunityTable: true Options: NoDamageTicks: 10 </pre> *可通过修改通用选项下的NoDamageTicks定义伤害硬直的时间<br/>默认设置为10刻 ==自定义AI== 几个自定义AI教程示例 {{Hide|标题=目标,对象,派别 |内容= *自定义AI通常会使用到的两个东西。'''AI行动目标''',确定生物的行动。还有'''AI对象目标''',确定生物所选取的攻击对象或技能对象 *'''派别'''用于归类生物的所属组群,并用于之后的设置 *一般来讲,游戏内所有的生物都有其内置AI使其运作。比如骷髅的AI要求其以玩家为目标,并且使用弓箭攻击玩家。若想使用MM修改骷髅的AI,首先需要做的是清除当前生物的AI,然后进行修改 <pre> 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 </pre> *以上就是一个骷髅使用弓箭攻击的例子(除去其他多余项目,四处走动什么的) **'''AIGoalSelectors'''要求骷髅平时使用'''arrowattack'''这一动作 **而'''AITargetSelectors'''确定这个骷髅使用'''arrowattack'''的目标,也就是玩家(players) **'''clear'''总是排在首位就是用于清除生物原本的AI从而保证你所设置的AI能正确运行<br/> *那么若想骷髅攻击其他生物,并且攻击方式由原本的射箭改为近战要怎样做呢?如下: <pre> 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 </pre> *现在,骷髅的AI就被设置为攻击其他生物,并且优先攻击伤害源。使用近身伤害取代远程攻击 **'''AIGoalSelectors'''下的'''meleeattack'''告诉生物使用近战。然后要注意下骷髅必须拿着武器(''应该是只要不拿着弓,空手也可以的'')才能进行近战,因为拿着弓时是不能近战的。这并不会发生在僵尸身上 **现在'''AITargetSelectors'''下的'''players'''被移除,所以骷髅不会主动攻击玩家,而是会攻击和自己所属派别不同的生物(例子为攻击Undead以外的生物)。还有这个优先度为1的'''hurtbytarget''',如果有其他实体优先攻击骷髅,骷髅就会进行还击。这项建议给每个生物都设置,并且优先度越高越好,以杜绝生物不会还手的情况 *'''AITargetSelectors'''和'''AIGoalSelectors'''可到[[MythicMobs技能|这里]]查看 }} {{Hide|标题=示例1:城镇门卫 |内容= *接下来我们将设置一个守在城门的守卫用于赶走靠近的怪物。我们的守卫可以使用铁傀儡伪装成村民,不过这样的话铁傀儡原有的AI和其特殊的击飞攻击使其略厉害了点...所以我们现在用MM的AI设置一个适合我们使用的守卫 *恩啊,首先我们需要一个勇敢的护卫。使用骷髅伪装成村民,并给其佩上一把剑 <pre> 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 </pre> *若是我们现在就把这生物放出去,因为AI还没改,会攻击玩家。所以现在我们要把他的态度(AI)做一下调整 <pre> 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 </pre> *现在的话我们的守卫就会攻击和自己不是同一派别的怪物,并且攻击伤害到他的生物(同时给予那些"多手"的玩家还击)。并且这个守卫还会有需要的话打开其前面的门 *前半问题解决了。那么现在要保证那些在城门附近四处游荡的怪物被守卫伤到时也会还击 *下面就是一个已经加上会受伤后进行还击AI的例子 <pre> 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 </pre> *我们的decaying skeleton属于Undead派(不同于守卫的Guard派),所以这个怪物会被守卫当作攻击对象。然后怪物受到伤害时因为有hurtbytarget,我们的怪物便会进行还击 *为了守卫能正确辨别出攻击对象,我们尽量使周围生成的怪物与守卫的派别不同(''可在原版生成下给比如僵尸加上派别,那么游戏下自然生成的僵尸就全都有派别了'') *现在的话我们的设置就算基本完成了 *还可以加上一些额外的设置,比如这里我们设置了守卫为比较小的跟踪范围(FollowRange)。这能保证守卫不会为了杀怪而走得太远。并且PreventMobKillDrops能保证守卫所杀的怪物不会掉落物品和经验(防止玩家得逞...)<br/>''其实还有很多 设置Options无敌 用技能使守卫巡逻或归位'' }} {{Hide|标题=示例2:兽人vs哥布林 |内容= *设想一下,一个世界里有两个种群,哥布林和兽人,而他们对对方一直以来都不太友善。 *通过使用MM的自定义AI使他们除了会攻击玩家外,当遇上对方时便会打起来的样子 *以下一个兽人 一个哥布林的配置 <pre> 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 </pre> <br/> <pre> 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 </pre> *设置里几个比较要注意的 **第一,分别设置兽人的派别为Orc,哥布林的派别为Goblin,从而分别他们所属的阵容 **第二,设置两边的行动最优到最后分别是'''clear''','''opendoors''','''meleeattack'''<br/>近战的一般都可以参考这样来设置 **最后,目标上的AI首位设置'''clear'''并在后面加上3个攻击目标 *先说说'''hurtbytarget'''其意义之前说的一样,保证生物懂得还手并且不被玩家欺负 *然后是这个'''specifictargetfaction''',设置成这样互相对立会使其各自以对方为攻击对象 *最后这个'''players'''就是当这个怪物没检测到对家时就会以玩家为攻击目标 *最后的最后这个'''PreventMobKillDrops'''保证在游荡中被其他生物杀害时不会掉落物品 }} ===行动选择器(AIGoalSelectors)=== 行动选择器,顾名思义规定生物的行动。若生物自身没有此项基本行动就不会对其产生作用。例如,僵尸不会也不能吃草(EatGrass)。<br/> 例子: <pre> SuperMob: Type: zombie Health: 200 Display: 'Superb Zombie' AIGoalSelectors: - 0 clear - 1 meleeattack - 2 randomstroll </pre> 这只僵尸除了会攻击玩家,还会在没有攻击目标时随意走动。 <spoiler> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|所有生物(All Mobs) |- |'''项''' |'''别名''' |'''备注''' |- |'''clear''' |reset |清除生物的AI<br/>放置首位保证生物AI的正常运行 |- |'''breakdoors''' | |使生物懂得破门 |- |'''eatgrass''' | |使生物偶尔...吃草 |- |'''float''' |swim |使生物懂浮在水面,不被淹死 |- |'''lookatplayers''' | |望向附近玩家 |- |'''opendoors''' |opendoor |使生物懂得打开面前的门并经过后关上 |- |'''closedoors''' |restrictopendoor |不清楚有什么用 哪位来测试下:P (原话哦...) |- |'''randomlookaround''' |lookaround |随处观看 |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|生物(Creatures Only) |- |'''项''' |'''别名''' |'''备注''' |- |'''avoidarrows''' | |使生物躲闪箭<br/>MM 2.5.0+ 移除 |- |'''avoidcreepers''' | |使生物躲避爬行者 |- |'''avoidskeletons''' | |使生物躲避骷髅 |- |'''avoidzombies''' | |使生物躲避僵尸 |- |'''fleesun''' | |早上躲在影子下 |- |'''meleeattack''' | |使生物靠近并近攻目标 |- |'''movetowardstarget''' | |使生物靠近目标 |- |'''randomstroll''' | |随处走动 |- |'''restrictsun''' | |理论上能限制生物走向高亮度的地方 |- |'''fleeplayers''' |runfromplayers |躲避玩家 |- |'''fleegolems''' |runfromgolems |躲避铁傀儡 |- |'''fleevillagers''' |runfromvillages |躲避村民 |- |'''spiderattack''' | |使蜘蛛攻击目标(看着和meleeattack没什么不同)<br/>*''可尝试配合leapattarget使用'' |- |'''leapattarget''' | |使生物跳向目标*''貌似需要meleeattack/spiderattack才能正常运作'' |- |'''moveindoors''' | |''暂无描述'' |- |'''movethroughvillage''' | |''暂无描述'' |- |'''movetowardsrestriction''' | |''暂无描述,自己猜吧...'' |- |'''patrol x1,y1,z1;x2,y2,z2;x3,y3,z3;…''' |patrolroute |巡逻,坐标之间走动<br/>MM 2.4添加 只在MC 1.9下正常运作 |- |'''gotolocation x,y,z''' |goto |走向坐标<br/>MM 2.4添加 |- |'''gotoowner''' | |走向主人<br/>MM 2.4.1 |} <br/> {| border="1" cellpadding="5" cellspacing="0" ! colspan="3"|射手(Ranged Entities Only) |- |'''项''' |'''别名''' |'''备注''' |- |'''arrowattack''' | |弹射攻击<br/>(使骷髅射箭) |- |'''skeletonbowattack''' |bowshoot<br/>bowmaster |MC1.9+骷髅的新扫射AI |} </spoiler> ===目标选择器(AITargetSelectors)=== 目标选择器,顾名思义设置生物的目标对象。 例子: <pre> SuperMob: Type: zombie Health: 200 Display: 'Superb Zombie' AIGoalSelectors: - 0 clear - 1 meleeattack - 2 randomstroll AITargetSelectors: - 0 clear - 1 players - 2 golems </pre> ====所有生物(All Creatures)==== *'''clear'''—清除所有AI *'''attacker'''—以攻击源为目标 *'''players'''—以玩家为目标 *'''villagers'''—以村民为目标 *'''golems'''—以傀儡为目标 =====派别相关(Faction Support)===== *'''OtherFaction'''—以自身以外派别的生物为目标 *'''OtherFactionMonsters'''—以自身以外派别的怪物为目标<span style="color:red">?<span> *'''OtherFactionVillagers'''—以自身以外派别的村民为目标 *'''SpecificFaction [''派别名字'']'''—特指一个派别为目标 *'''SpecificFactionMonsters [''派别名字'']'''—特指一个派别为目标<span style="color:red">?<span> <pre> AITargetSelectors: - 1 SpecificFaction undead </pre> 限制生物只以undead派的生物为目标 ====可驯服类(Tameable Creatures)==== *'''ownerattacker'''—以攻击自己主人的对象为目标 *'''ownertarget'''—以自己主人攻击的对象为目标 ==伤害调整(DamageModifiers)== *设置或者说控制生物最终受到的伤害量 *比如,免疫近伤,但受到箭的伤害加倍... {| class="wikitable mw-collapsible mw-collapsed" ! 可修改项列表 |- | {| class="wikitable" |- ! 修改项 !! 描述 |- | DROWNING || 溺水窒息 |- | BLOCK_EXPLOSION || 方块爆炸 |- | ENTITY_EXPLOSION || 实体爆炸 |- | VOID || 虚空 |- | LIGHTNING || 闪电 |- | SUICIDE || 命令/kill造成的杀害(不一定管用) |- | STARVATION || 饥饿 |- | POISON || 药水 |- | MAGIC || 魔法(药水?) |- | DRAGON_BREATH || 末影龙吐息(不一定管用) |- | WITHER || 凋灵药水效果 |- | FALLING_BLOCK || 掉落方块 |- | THORNS || 荆棘附魔的反伤 |- | CUSTOM || 自定义,插件相关 |- | LAVA || 接触岩浆 |- | MELTING || 雪人的溶雪 |- | FIRE_TICK || 持续的点燃伤害 |- | FIRE || 接触火 |- | HOT_FLOOR || 站在岩浆块上面 |- | FALL || 掉落 |- | SUFFOCATION || 方块窒息 |- | PROJECTILE || 弹射物 |- | ENTITY_ATTACK || 近战伤害 |- | CONTACT || 触碰仙人掌 |} |} ===例子=== <spoiler> '''注意:设置为1的话就是受到全数伤害<br/>高于1就会受到比原本多的伤害<br/>低于1就是减少等值伤害<br/>0为免疫此伤害<br/>设为负数值的话就会进行回血,但若此生物原本免疫此伤害便不会凑效(比如铁傀儡免疫掉落伤,烈焰人免疫烧伤/岩浆)''' *那么我们开始从一个基本的框架弄起 <pre> ArmoredZombie: Mobtype: zombie Display: '&aArmored Zombie' Health: 40 Damage: 6 </pre> *呐,我们先为Armored Zombie提升受到两个伤害的抗性吧。近战和弹射物受到的伤害为原来的75%,如下 <pre> ArmoredZombie: Mobtype: zombie Display: '&aArmored Zombie' Health: 40 Damage: 6 DamageModifiers: - ENTITY_ATTACK 0.75 - PROJECTILE 0.75 </pre> *这样我们的僵尸就对这两的伤害抗性提高了。任何来自其他生物或玩家造成的这两个伤害就会减低25%。感觉有点厉害啊,咱们在给他一个弱点吧 <pre> ArmoredZombie: Mobtype: zombie Display: '&aArmored Zombie' Health: 40 Damage: 6 DamageModifiers: - ENTITY_ATTACK 0.75 - PROJECTILE 0.75 - MAGIC 1.25 </pre> *完成了~这样的话我们的僵尸就对近伤和弹射物有少许抗性提升,并且弱点为'''magic'''(投掷型恢复药水)<br/><br/> *我们下一个例子是抗火僵尸,他不仅不会受到接触火焰和岩浆的伤害,还会从中恢复血量。接触岩浆时恢复4倍速哦~ ''不适用于下界生物,因为他们自身免疫火焰伤害导致伤害调整不可修改'' <pre> FireElemental: Mobtype: zombie Display: '&cFire Elemental' Health: 20 DamageModifiers: - FIRE -1 - LAVA -4 - FIRE_TICK 0 </pre> </spoiler> ==装备(Equipment)== *给予生物生成时装备上原版或MM配置的物品或装备 *装备只会在其生成时装备上,之后可以被如Equip技能更改 *如果不想生物生成时有任何装备,可以使用PreventRandomEquipment这一设置,详见Options<br/>另一种办法是装备栏设置上假的装备,如使用ID为0的物品 <pre> internal_mobname: Type: <mobtype> Equipment: - <item>:<slot> - <item>:<slot> - ... </pre> **<item><br/>可以是MM配置物品或原版物品 **<slot><br/>决定物品所在的装备槽 {| class="wikitable" |- ! 槽 !! 描述 |- | 5 || 非主手槽,1.9的新功能。能渲染任何物品 |- | 4 || 头部。除了头盔外,可以是任何拥有方块模型的物品(''如砧板,玻璃片,玻璃块...'')或玩家头颅。大部分能准确渲染 |- | 3 || 胸部。只渲染胸甲,但可以装备任何物品 |- | 2 || 腿部。只渲染腿部装备,但可以装备任何物品 |- | 1 || 脚部。只渲染靴子,但可以装备任何物品 |- | 0 || 主手槽。渲染任何物品 |} ''非主手槽(5)于2.3.2版本加入''<br/> 例子 <spoiler> <pre> awesome_boss: Type: pig_zombie Equipment: - awesome_boss_helmet:4 - diamond_sword:0 </pre> ''头部的awesome_boss_helmet为MM配置物品<br/>主手握着原版钻石剑'' </spoiler> ==死亡信息(KillMessages)== *允许你自定义生物杀死玩家时的显示信息。通常当玩家被杀死时只会显示"玩家被僵尸杀死"或"玩家被燃烧至死"之类的信息。给予自定义死亡信息让死亡的意义...到达一个新的高度 *写法比较简单。还可以设置从已设好的语句中随机显示一个。 <pre> 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: ... </pre> *就是这么简单!任何被Soul Eater杀掉的玩家,服务器会发送设置好的2个语句中的随机一个。同时也可以于语句中使用[[#.E5.8F.98.E9.87.8F.28Variables.29|变量]],比如例子中所使用的<target.name>就是生物目标对象的名字,也就是死亡的玩家名字 *更多的修改可在config.yml下修改KillMessagePrefix。此项修改为所有生物的杀害信息(然而修改这里不适用变量) '''小技巧''' *你也可以设置如下来使生物"不显示"玩家死亡信息 <pre> SilentUndead: Type: zombie Display: 'Silent Undead' KillMessages: - '' </pre> ==等级调整值(LevelModifiers)== *生物的等级是一个比较有用的功能。等级的上升意味着其威力的提升,同时还能因其掉落更多的物品 *或者,更通过修改设置可以使其根据自身等级掉落完全不同的物品,使用不同的技能,又或者生成于不同的地方(使用spawners和randomspawns) *生物的等级可被'''世界范围'''(见下),随机生成,或技能SetLevel影响 *''此页目前只概括基本的用法,更多教程或例子或在以后添加'' <pre> 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 </pre> *每级提升掉落详见[[#.E6.AF.8F.E7.BA.A7.E6.8E.89.E8.90.BD.28DropsPerLevel.29|DropsPerLevel]] <br/> *下面可改的数据会根据当前级别增加到原来的基础之上 *若是生物配置下没有设定其基本的几项属性可能会不能正常使用 {| class="wikitable" |- ! 项 !! 中文 |- | 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,如下 <pre> Scaling: Default: Enabled: false PerBlocksFromSpawn: 250 world2: Enabled: false PerBlocksFromSpawn: 250 world2_nether: Enabled: false PerBlocksFromSpawn: 100 </pre> *首先,设置世界的名字。如果没改动过的话默认地图名字一般为''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方块... [[文件:MythicMobs_World_Scaling.jpg|400px]] *''此修改只会影响到随机生成的MM配置生物,不会也不能影响到VanillaMobs.yml下生物的生成'' </spoiler> ==伪装(Disguise)== *使生物看着像另一种生物,物品,方块或其他实体 *需要''LibsDisguises''和''ProtocolLib''插件<br/>还有某些版本能完美运行,有些却很差强人意...自行体验 <spoiler> {| class="wikitable" |- ! 英文 !! 中文 |- | 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> {| class="wikitable mw-collapsible mw-collapsed" ! 伪装可修改项 |- | {| class="wikitable" |- ! 项 !! 描述 |- | Disguise.Burning: true || 被点燃特效 |- | Disguise.Blocking: true || 被方块窒息效果 |- | Disguise.Invisible: true || 隐身 |- | Disguise.ShowName: true || 显示一般不会显示的名字,如掉落物或方块的名字 |- | Disguise.Sneaking: true || 按下shift的潜行动作 |- | Disguise.Sprinting: true || 冲刺动作 |- | Disguise.ModifyBoundingBox: false || 保留/使用原有的碰撞箱大小 |- | Disguise.Glowing: true || 发光药水效果 |- | Disguise.Gliding || 滑行动作 |} *''Glowing''和''Gliding''于2.3.2添加 示例 <pre> 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 </pre> |} {| class="wikitable mw-collapsible mw-collapsed" ! 例子 |- | *伪装为附加值为0,显示名字的铁方块 <pre> LivingIron: Type: Skeleton Disguise: Type: BLOCK Block: IRON_BLOCK BlockData: 0 ShowName: true </pre> *伪装为附加值为0的铁剑 <pre> PossessedSword: Type: Skeleton Disguise: Type: ITEM Item: IRON_SWORD ItemData: 0 </pre> *伪装为玩家Notch <pre> GuardMob: Type: IRON_GOLEM Disguise: Type: Player Player: Guard Skin: Notch </pre> |} =技能(Skills)&变量= *一列可用的'''[[MythicMobs技能]]'''详细列表 *技能为MM插件的一大特点。所有生物都可以根据不同情况发动技能。技能的编写十分简单且灵活,很容易就能编辑出一个Minecraft下的MMORPGs类型的BOSS *一个完整的技能由以下几个构成<br/>基本类技能Mechanics<br/>特效类技能Effects<br/>技能目标对象Targeters<br/>简易的技能触发要求Triggers<br/>更高级的触发条件Conditions {{Hide|标题=技能编辑教学 |内容= 一个技能的顺序格式如下 <pre> FieryZombie: Type: ZOMBIE Display: 'Fiery Zombie' Health: 50 Skills: - 技能1 - 技能2 - 等... </pre> 大概就是这样,那一个实际的例子是怎样的呢? <pre> FieryZombie: Type: ZOMBIE Display: 'Fiery Zombie' Health: 50 Skills: - ignite{ticks=100} @target ~onAttack <50% 0.5 </pre> 就是这样,现在我们来详细看下一个技能的格式 <pre> Skills: - 技能名字{技能修改项=数值} @[技能对象] ~on[激活条件] [血量要求] [几率] </pre> '''技能(Mechanics)''' *技能的名字,一个技能最先也是最重要的部分。技能有很多种,点火,霹雷...技能可分为两类,以实体为目标对象的,以坐标位置为触发点的。有些技能同时属于这两类,有些则两类都不是 *大部分技能都有可修改项。就跟在技能名字的后面,填写于'''{ }'''的里面。而每个修改项用符号''';'''分隔 <pre> Skills: - 技能名字{技能修改项=数值;技能修改项=数值;技能修改项=数值} </pre> *你也可以像下面这样换行使其更易于编辑,不过请保证格式正确 <pre> Skills: - 技能名字{ 技能修改项=数值; 技能修改项=数值; 技能修改项=数值; } </pre> *大部分的技能格式都是这样的啦,再举个例子,比如想生物把攻击对象点燃5秒(5秒=100刻,1秒=20刻) <pre> Skills: - ignite{ticks=100} </pre> '''技能目标(Targeters)''' *技能目标,顾名思义就是你所希望释放的技能所选取的目标。而技能分两大类,以实体为目标的和以坐标/位置为目标的。给技能选取正确的技能目标很重要哦。 *目标通常跟随在@后,格式如下 <pre> Skills: - 技能名字{技能修改项=数值} @技能目标{目标修改项=数值} </pre> *在看回我们之前的例子,点火 <pre> Skills: - ignite{ticks=100} @target </pre> *又或者你想点燃技能激活位置半径范围5格下的所有玩家 <pre> Skills: - ignite{ticks=100} @PlayersInRadius{r=5} </pre> *只要记住,目标就是技能的目标 '''触发条件(Triggers)''' *当然这个也很重要,决定是因为什么而触发技能,一般填写于'''~'''后面 *触发条件还和一个特别的技能目标有关,@trigger,以触发技能的实体为技能对象 <pre> Skills: - 技能名字{技能修改项=数值} @技能目标{目标修改项=数值} ~on激活时 </pre> *在看回我们先前的例子...我们想生物每次进行攻击时使用一次5秒的点燃技能 <pre> Skills: - ignite{ticks=100} @target ~onAttack </pre> '''血量要求(Health Modifiers)''' *血量要求,用于确定当生物的血量满足什么情况下技能才可以发动<br/>使用这三个判定符'''=''','''<''','''>'''<br/>以下几个例子 <pre> =90% - 血量到达90%时触发 <50% - 血量小于50%时触发 =30%-50% - 当血量为30%到50%之间时触发 <2000 - 血量小于2000点时触发 >500 - 血量大于500点时触发 >10,=5,<3% - 血量大于10点,等于5,或小于3%时都可触发 </pre> *我们把之前的例子再拉回来...血量小于50%时,每次攻击目标时使用点燃技能 <pre> Skills: - ignite{ticks=100} @target ~onAttack <50% </pre> '''几率(Chance)''' *满足条件后技能使用的几率 *1.0为100%,一般不填写的话也就是默认100%使用;0.5是50%几率,0就是不会发动... *我们把例子最后一次再拉回来...血量小于50%时,每次攻击目标时有50%几率使用点燃技能 <pre> Skills: - ignite{ticks=100} @target ~onAttack <50% 0.5 </pre> }} ==变量(Variables)== *变量用于决定返还一个特定的数值并用于技能之上,也可单纯用于显示颜色或特殊符号 '''例子''':<span style="color:#0ADAC5">''显示被干掉的生物名字''</span> 被骑士 ''<span style="color:green">显示使用技能的玩家的名字</span>'' 使用技能斩杀了 <pre> Skills: - message{m="&b<mob.name>&r 被骑士 &a<trigger.name>&r 使用技能斩杀了"} @PIR{r=20} ~onDeath </pre> ===技能变量=== {| class="wikitable" |- ! 生物变量 !! 描述 |- | colspan="3" style="text-align: center;" | ''若没有标明生物名字,以下变量或许会不能运行'' |- | <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) |} {| class="wikitable" |- ! 目标变量 !! 描述 |- | colspan="3" style="text-align: center;" | ''以下变量返还目标选择器下的相关数值<br/><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轴坐标 |} {| class="wikitable" |- ! 触发变量 !! 描述 |- | <trigger.uuid> || 返还技能触发者的UUID |- | <trigger..name> || 返还技能触发者的名字 |- | <trigger.hp> || 返还技能触发者的当前血量值 |- | <trigger.threat> || 返还技能触发者的威胁度 |- | <trigger.l.w> || 返还技能触发者现在所在世界的名字 |- | <trigger.l.x> || 返还技能触发者现在的x轴坐标 |- | <trigger.l.y> || 返还技能触发者现在的y轴坐标 |- | <trigger.l.z> || 返还技能触发者现在的z轴坐标 |} ===其他变量=== {| class="wikitable" |- ! 变量 !! 描述 |- | <drops.xp> || 返还Heroes或SkillAPI插件的经验掉落值 |- | <drops.money> || 返还Vault插件的金钱掉落值 |} ===特殊变量=== {| class="wikitable" |- ! 变量 !! 描述 |- | <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) |} ===特殊符号=== {| class="wikitable" |- ! 变量 !! 描述 |- | <&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命令下 {| class="wikitable" |- ! 变量 !! 描述 |- | &0 || {{Minecraft Color|&0|黑色}} |- | &1 || {{Minecraft Color|&1|深蓝色}} |- | &2 || {{Minecraft Color|&2|深绿色}} |- | &3 || {{Minecraft Color|&3|深水蓝色}} |- | &4 || {{Minecraft Color|&4|深红色}} |- | &5 || {{Minecraft Color|&5|深紫色}} |- | &6 || {{Minecraft Color|&6|金色}} |- | &7 || {{Minecraft Color|&7|灰色}} |- | &8 || {{Minecraft Color|&8|深灰色}} |- | &9 || {{Minecraft Color|&9|蓝色}} |- | &a || {{Minecraft Color|&a|绿色}} |- | &b || {{Minecraft Color|&b|水蓝色}} |- | &c || {{Minecraft Color|&c|红色}} |- | &d || {{Minecraft Color|&d|浅紫}} |- | &e || {{Minecraft Color|&e|黄色}} |- | &f || {{Minecraft Color|&f|白色}} |- | &K || 乱码 |- | &L || 加粗 |- | &M || 删除线 |- | &N || 下划线 |- | &O || 斜体 |- | &R || 颜色代码重置/清空 |} ==条件要求(Conditions)== 一些旧版(2.5.11)的条件。只要把'''Conditions'''改为'''LegacyConditions'''就仍然可在MM4.0.0+使用 <spoiler> *'''biome [''biome_name'']''' **'''若在此地形''' **[https://github.com/Bukkit/mc-dev/blob/master/net/minecraft/server/BiomeBase.java 地形种类] **允许使用/进行分隔 **地形名字应为全大写 **'''biome FOREST''' <br> *'''distancefromspawn [''number'']'''(2.4) **'''若在生成点特定的范围内''' **可以特定范围 10-405,也可以是范围值 >10 或 <77 等... **'''distancefromspawn >100''' <br/> *'''globalscore [''objective''];[''score'']'''(2.3) **'''若玩家的分数...时''' **'''globalscore playerkills;>10''' <br/> *'''height [''number_range'']''' **'''若在某y轴高度时''' **可以是范围 20-40, >10 或 <5 等... **按F3可查看高度/Y轴 **'''height 0-20''' <br/> *'''heightabove/heightbelow [''number'']''' **'''若在以上/以下高度时''' **按F3可查看高度/Y轴 **'''heightabove 0''' <br/> *'''holding [''itemname'']''' **'''当技能使用者手持制定物品时''' **必须是Bukkit定义的物品名字。不能是MM物品名字 **[https://github.com/Bukkit/Bukkit/blob/master/src/main/java/org/bukkit/Material.java 方块/物品名字列表] **由于特殊漏洞原因,此条件不能检测带有损伤值的物品(2.2.1或之前) **'''holding STICK''' <br/> *'''inblock [''material_type'']''' **'''若使用者在特定的方块时''' **用于检测是否在水中、空中、岩浆里时十分有效 **[https://github.com/Bukkit/Bukkit/blob/master/src/main/java/org/bukkit/Material.java 方块名字列表] **允许使用/进行分隔 **注意若想使用者在水方块中而非仅仅是在水面请使用STATIONARY_WATER替代WATER **'''inblock WATER''' <br/> *'''incombat''' **'''若处于战斗状态(拥有目标)时''' **'''incombat''' <br/> *'''inregion/notinregion [''region'']''' **若处于/不处于WorldGuard插件定义的区域时 **'''inregion castle''' <br/> *'''lastsignal [''signal'']'''(2.2.1) **'''若接受的最后一个信号为此指定的信号''' 详见signal技能 **不同于stance条件,signal会检测完全匹配的数据 **'''lastsignal ping''' <br/> *'''level [''number_range'']''' **'''若在指定的等级范围内''' **可以是范围 20-40, >10 或 <5 等... **'''level >3''' <br/> *'''lightlevel [''number_range'']''' **'''若处于指定的亮度范围内''' **选值范围必须为0~15之间 **'''lightlevel 0-3''' <br/> *'''lightlevelabove/lightlevelbelow [''number'']''' **'''若处于以上/以下亮度范围内''' **'''lightlevelabove 6''' <br/> *'''lunarphase [''phase'']''' **'''若在游戏内的某一天时''' **可用逗号,分隔指定的游戏天数 **'''lunarphase 0,2,4''' <br/> *'''mobscore [''objective''];[''score'']'''(2.3) **'''若其记分板的分数为某个值时''' **'''mobscore timeshit;=3''' <br/> *'''mobinchunk [''number_range'']''' **'''若所在区块有指定量的生物时''' **可以是范围 20-40, >10 或 <5 等... **'''mobinchunk <20''' <br/> *'''mobinworld [''number_range'']''' **'''若所在世界有指定量的生物时''' **可以是范围 20-40, >10 或 <5 等... **'''mobsinworld >100''' <br/> *'''mobtype [''mobname'']''' **'''若生物的名字匹配时生成此生物''' **只用于随机生成配置下 **'''mobtype COW''' <br/> *'''offgcd''' **'''若技能的整体冷却时间global cooldown为0时''' **global cooldown为用于决定生物所不能使用技能的时间段/技能延时 **使用gcd技能设置技能延时的时间,默认无冷却时间 **用于减慢或防止某些拥有多个技能的生物同时使用不同技能的几率 **'''offfgcd''' <br/> *'''onblock [''material_type'']''' **'''若站在某方块上时''' **[https://github.com/Bukkit/Bukkit/blob/master/src/main/java/org/bukkit/Material.java 方块名字列表] **允许使用/进行分隔 **'''onblock grass''' <br/> *'''outside/inside [true/false]''' **'''若在室外/室内时''' **''室外''的定义为对天空有清晰的视野时,''室内''的定义则相反 **'''outside true''' <br/> *'''playerkills [''number'']''' **'''若玩家斩杀数为指定值时''' **'''playerkills 7''' <br/> *'''playernotwithin/targetnotwithin [''distance'']''' **'''若玩家/目标不在范围内时''' **输入单个数值。若想使用范围值,使用targetdistance条件 **'''playernotwithin 5''' **'''targetnotwithin 2''' <br/> *'''playerwithin/targetwithin [''distance'']''' **'''若玩家/目标在范围内时''' **输入单个数值。若想使用范围值,使用targetdistance条件 **通过连续配合targetinlineofsight条件使用来使生物即使见不到玩家或距离太远时也能使用技能 **'''playerwithin 15''' **'''targetwithin 7''' <br/> *'''raining [true/false]''' **'''若正在/没有下雨时''' **'''raining false''' <br/> *'''score'''(2.3) **'''用于检测虚拟玩家记分板下的分数''' **'''score <''objective''>;<''entry''>;<''numberrange''> **'''score kills;dummyplayer;10-14''' <br/> *'''stance [''string'']''' **'''若生物处于某一状态时''' **状态由setstance技能给予 **使复杂的检测系统成为可能。若当前的状态被设置为AGGRO,而stance条件检测GG时,此次检测成立 **'''stance defensive''' <br/> *'''sunny [true/false]''' **'''若处于/不为晴天时''' **'''sunny true''' <br/> *'''targetscore [''objective''];[''score'']'''(2.3) **'''若目标记分板的分数为某数值时''' **'''targetscore mobkills;>99''' <br/> *'''targetdistance [''number_range'']''' **'''若目标处于范围值内时''' **识别使用范围,如 10-20 **'''targetdistance 10-20''' <br/> *'''targetinlineofsight/targetnotinlineofsight [true/false]''' **'''若目标在/不在可视范围内时''' **'''targetinlineofsight true''' <br/> *'''thundering [true/false]''' **'''若有/没有打雷时''' **'''thundering false''' <br/> *'''world [''worldname'']''' **'''若当前世界为指定的世界时''' **可以指定单个世界,也可以使用逗号列表 **允许使用/进行分隔 **'''world snowyworld, lavaworld, islandworld''' <br/> *'''worldtime [''number_range'']''' **'''若当前世界时间为指定范围内时''' **取值范围为0~24000<br/>可使用/time显示当前世界的时间 **0-12000为游戏内的白天,12001-13800为黄昏,13801-22200为晚上,22201-24000为黎明 **'''worldtime 0-12000''' '''例子''' <pre> 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} </pre> </spoiler> 条件Conditions用于判定当处于/不处于某个情况时执行某项事件。条件的填写方法见例子<br/> 条件可用于以下位置 ''非所有条件适用于所有地方'' *[[MythicMobs技能#.E6.8A.80.E8.83.BD.28Skill_Mechanics.29|基本技能]] *[[#.E6.8E.89.E8.90.BD.E8.A1.A8.28DropsTables.29|掉落表]] *[[#.E7.94.9F.E6.88.90.E7.82.B9.28Spawners.29|生成点]] *随机生成 当Conditions下有多个条件时,必须按顺序满足所有条件才可执行。那些允许使用'''/'''的条件只要满足其定义中的其中一个即视为匹配此条件 ===条件是如何运作的=== '''条件的种类:'''<br/> 条件可分为三种<br/> #条件(Conditions) - 以技能的使用者为目标 #目标条件(TargetConditions) - 以技能的对象为目标 #触发条件(TriggerConditions) - 以触发技能的对象为目标 <br/> 要注意的是,并不是所有条件要求都适用于这三种类型的条件。比如, <pre> Conditions: - globalscore{objective=Test;v=>10} </pre> ''globalscore''并没有任何特殊的目标,所以只能在Conditions下运作<br/> <br/> <pre> TargetConditions: - lineofsight false </pre> 而这个并不能填写在Conditions下,因为''lineofsight''需要目标对象才能执行,所以只能填写在TargetConditions或TriggerConditions下<br/> <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> 满足条件时,使用指定技能替代原定技能 ===不选取目标类条件=== *'''globalscore{objective=[objective];value=[vaule]}''' **检测名为"__GLOBAL__"玩家的分数 **你可以以此用作记录服务器某项东西的分数 **'''globalscore{objective=Test;value⇒10}''' *'''mobsinworld{a=[amount]} **检测当前世界的生物数量 **可输入单个数值,或使用数值范围 **'''mobsinworld{a⇒10}''' ===目标/触发类条件=== *'''distance{d=[value]}''' **当目标在指定范围内时 **可输入单个数值,或使用数值范围 20-40 >10 <5 等 **'''distance{d=<2} *'''lineofsight''' **当使用者(生物)在/不在玩家视野范围内时 **'''targetinlineofsight true''' *'''owner''' **当目标是/不是某生物的主人时 **''主人''必须通过''setowner''技能设置 **'''owner true''' *'''targetwithin/targetnotwithin{d=[value]}''' **当目标在/不在指定范围内时 **'''targetwithin{d=2} ===基本类条件=== *'''altitude{a=[number]}''' **当使用者/目标离地面的高度满足指定数值时 **可输入单个数值,或使用数值范围 20-40 >10 <5 等 **'''altitude{a⇒1}''' *'''biome{b=[biome]}''' **当使用者/目标处于指定群系时 **默认为Plains群系 **'''biome{b=DESERT} true''' *'''crouching''' **当目标(玩家)潜行(shift键)时 **应该只适用于玩家 **'''crouching false''' *'''distancefromspawn [number]''' **检测离世界出生点的距离 **可输入单个数值,或使用数值范围 20-40 >10 <5 等 **'''distancefromspawn >100''' *'''entitytype [entity]''' **检测实体的种类 **'''entitytype player''' *'''fallspeed{speed=[number/number range]}''' **可输入单个数值,或使用数值范围 20-40 >10 <5 等<br/>也可以是负数(用于跳跃时) **一般掉落的速度为0.785 **'''fallspeed{speed⇒0.7845}''' *'''gliding''' **检测生物/实体是否佩带滑翔翼并滑翔 **可用''setgliding''技能使生物滑翔 **'''gliding true''' *haspotioneffect{type=[potion type];level=[level];duration=[duration start] to [duration end]} ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ {| class="wikitable mw-collapsible mw-collapsed" ! 例子 |- | <pre> 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} </pre> |} =物品(Items)= *'''''needtext''''' ==药水== *'''''needtext''''' =掉落(Drops)= *给生物添加自定义掉落项 *可以是原版物品,MM定义的物品,经验球,能读取的其他插件物品,或者其自定义的掉落表(DropsTables)配合条件使用 ==掉落设置(Drops)== *'''''needtext''''' ==每级掉落(DropsPerLevel)== *'''''needtext''''' ==掉落表(DropsTables)== *'''''needtext''''' ===例子=== *'''''needtext''''' =生成点(Spawners)= *'''''needtext''''' =版本更新日志= *'''''needtext''''' =待补充∅= <span style="color:red">∅needtext∅</span><br/> <span style="color:red">∅好像有人在bbs弄的很不错的样子,那我就不继续弄了...∅</span> =相关链接= MythicMobs技能分页:http://mineplugin.org/MythicMobs%E6%8A%80%E8%83%BD<br/> MythicMobs官网:http://www.mythicmobs.net/index.php<br/> MythicMobsManual:http://www.mythicmobs.net/manual/doku.php<br/> MythicMobsForum:http://www.mythicmobs.net/index.php?forums/<br/> =授权声明= 本页内容翻译/搬运自[http://www.mythicmobs.net/manual/doku.php MythicMobs插件手册]<br/> 授权方式为GNU Free Documentation License 1.3<br/> {{GFDL}}
返回
MythicMobs
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
编辑相关
百科公告
编辑帮助
互助客栈
贡献分数
测试沙盒
发布条目
插件分类
管理
安全
聊天
编程
经济
修正
娱乐
综合
信息
机械
角色
传送
网页
整地
创世
付费
其它
工具
链入页面
相关更改
特殊页面
页面信息
相关网站
MCMOD百科
Minecraft中文百科
Minecraft纪念论坛
Minecraft百度贴吧
虚无世界Wiki