MythicMobs 基于各种自定义的生物,并且他们有一堆你可以设置的设置、属性,下面就是一个完整的属性列表。 大多数都是可选的,这意味着你不需要配置所有的东西。必须的项目是 internal_mobname 和 Type。 - internal_mobname:
- Type:
- Display:
- Health:
- Damage:
- Armor:
- BossBar:
- Faction:
- Mount:
- Options:
- Modules:
- AIGoalSelectors:
- AITargetSelectors:
- Drops:
- DropsPerLevel:
- DamageModifiers:
- Equipment:
- KillMessages:
- LevelModifiers:
- Disguise:
- Skills:
[color=rgb(51, 102, 153) !important] 复制代码
分别说说每个设置 internal_mobname: · 可以为任何名字,作为 MythicMobs 的全局名称 · 必须是字母数字,大小写敏感 · 示例: · super_zombie: · SuperZombie: · superzombie: Type: [生物种类] · 这个决定了你的生物的种类 · 这里有全部的生物种类:生物种类[见下 · 示例: · Type: zombie · Type: SKELETON Display: '[显示名称]' · 设置生物头顶的名称标签 · 支持颜色代码和变量:见技能[第4页变量 · 必须用单引号保围 · 使用 <&sq> 代表一个单引号 · 示例: · Display: 'Super Zombie' · Display: '&eSuper Zombie' · Display: '&cSuper Zombie&r - <mob.level>' Health: [number] · 设置生物的最大的血量 · MythicMobs 没有最大血量的限制。但是Spigot会有一个默认的最大两千的设置,可以在 spigot.yml 更改。 · 示例: · Health: 200 Damage: [number] · 设置生物的基础近战攻击 · 1 伤害 = 0.5 心。一个6伤害的生物会造成3心的伤害 · 这个属性不会影响远程/范围攻击,如药水/弓箭。只设置近战伤害。 · 示例: · Damage: 10 Armor: [number] · 将会减少受到伤害的数量 · 1 护甲 = 0.5 心 · 示例: · Armor: 7 BossBar: (2.4) · 设置生物的Boss血条。看起来像末影龙和凋零的Boss血条,但是可以配置。查看其他[第10页]Boss血条。 Faction: [名称] · 设置派系名称,可以用于高级的AI设置 · 必须是字母数字,区分大小写 · 示例: · Faction: SuperZombies · Faction: super_zombies Mount: [生物名称] · 设置坐骑,必须是另一个 MythicMob. · 生成时会自动坐在此生物上 · 示例: · Mount: super_zombie_horse Options: · 特殊的选项,用于设置子设置,如决定什么时候移除此生物,设置击退防护,跟随距离,移动速度和其他的! · 全部在这里:见生物设置[下方 Modules: · 此设置允许你启用威胁表[见下和/或免疫列表[见下 AIGoalSelectors: · 自定义生物的AI · 见自定义AI[见下 AITargetSelectors: · 自定义生物的AI · 见自定义AI[见下 Drops: · 添加自定义掉落 · 可以是原版物品,Mythic物品,经验和其他插件的物品(如果支持)或者是自定义的掉落列表,如果使用自定义的条件系统 · 查看掉落[第6页 DropsPerLevel: · 像普通掉落一样工作,但是可以设置为更高等级掉落更多 · 也在掉落[第6页。怪物等级在怪物等级[见下 DamageModifiers: · 完全控制各种伤害源如何和造成多少伤害值 · 比如让一个怪物完全免疫近战攻击,但是在远程攻击下就很脆弱 · 其它[第10页伤害修正查看完整的伤害列表 Equipment: · 出生时穿上原版物品或Mythic物品 · 其它[第10页装备查看完整设置 KillMessages: · 允许在生物击杀玩家以后在控制台显示一条自定义信息 · 见自定义击杀信息[见下 LevelModifiers: · MythicMobs 可以有等级,这个设置可以设置等级统计 · 见生物等级[见下 Disguise: · 需要插件 “LibsDisguises” 安装并运行在服务器上 · 让生物看起来像其他生物 · 查看附加:伪装[见下 Skills: · 设置生物使用的技能和条件等 · 查看技能[第4页概览以制作你自己的技能 使用了所有设置的示例: 更多的生物可以在概览[第2页]示例查看 请记住你没有机会使用所有的特性,而这只是一个展示所有特性的示例。你需要做的只是应用你需要的功能到你的生物上。必须的项是 internal-mobname 和 mob-type,剩下的就靠你决定了! - 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
[color=rgb(51, 102, 153) !important] 复制代码
这是一份现有的支持的生物列表,在TYPE项使用。自定义的生物种类可能可用,前提是在 Bukkit 注册了,但是不保证能用。生物种类对大小写不敏感
列表 · 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 · EVOKER(MC 1.11+) · GHAST · GIANT · GUARDIAN · HORSE · HUSK · IRON_GOLEM · LLAMA (MC 1.11+) · MAGMA_CUBE · MUSHROOM_COW · OCELOT · PIG · PIG_ZOMBIE · PIG_ZOMBIE_VILLAGER · PRIMED_TNT · POLAR_BEAR · RABBIT · SHEEP · SILVERFISH · SKELETON · SKELETON_HORSE (MC 1.11+) · SHULKER · SLIME · SNOWMAN · SPIDER · STRAY · SQUID · VEX (MC 1.11+) · VILLAGER · VINDICATOR (MC 1.11+) · WITCH · WITHER · WITHER_SKELETON · WOLF · ZOMBIE · ZOMBIE_HORSE (MC 1.11+) · ZOMBIE_VILLAGER 这是一个 MythicMobs 可用的全部生物的数据库。在 Options 标签下的格式大概长这个样子: - VeryFastSkeleton:
- Type: skeleton
- Display: 'Very Fast Skeleton'
- Options:
- MovementSpeed: 0.3
- NoDamageTicks: 50
[color=rgb(51, 102, 153) !important] 复制代码
全局设置 这些设置无论生物种类都会有效: 所有生物 AlwaysShowName: [true/false] · 是否总是显示名称标签,即使没有看着生物或穿过方块 · 跟NBT标签“CustomNameVisible”相同 · 版本: · MC 1.8 或更早只在盔甲架有效 · MC 1.9 以后可用于任何生物 · 默认 false AttackSpeed: [number] (2.4) · 设置生物的攻击速度 · 默认为各个生物默认的攻击速度 Collidable: [true/false] (2.4) · 此生物是否可碰撞 · 默认 true · 注意碰撞在 Minecraft 里是双向的,所以有必要将碰撞的两个实体的碰撞都设置为 false 来保证碰撞不会发生 Despawn: [true/false] · 决定生物在附近没有玩家时会不会被删除 · 应该打开,特别是你有一大堆刷怪点 · 与NBT标签“PersistenceRequired”相同 · 默认 true FollowRange: [值] · 生物跟随目标的最大距离 · 可以设置生物跟随玩家的最大距离 · 默认为各个原版生物的默认距离 Glowing: [true/false] (2.4) · 生物是否发光 · 默认 false Invincible: [true/false] · 设置是否对所有伤害无敌 · 不可通过命令技能更改! · 默认 false KnockbackResistance: [数字] · 0到1之间的数字决定了生物的抗击退,默认0 · 0.1 = 10%, 0.5 = 50% 1 = 100% · 注意防击退为1时仍然可被击退附魔和爆炸击退 MaxCombatDistance: [数字] · 生物在多远以外不能被玩家伤害 · 将此设置为比技能小的范围将保证它可能伤害玩家,并且不容易被利用 MovementSpeed: [数字] · 生物的移动速度 · 默认为0.2 · 大于1的数字将让怪物难以/不可能打败,大于3会让服务器跪地 NoAI: [true/false] (2.2.1) · 决定生物有没有AI,会覆AIGoalSelectors 的设定! · 与 AIGoalSelectors 相反,这会在末影龙和凋零发挥作用 · 默认为 false NoDamageTicks:[number] · 设置生物遭到伤害以后的无敌时间 · 如果 ImmunityTables 启用于此生物, NoDamageTicks 会采用每个玩家的设置而不是全局设置 · 默认10(ticks) NoGravity: [true/false] (2.5, MC 1.10) · 此生物是否有重力 · 默认为 false · 注意!当为 true 时,这个生物不能有技能[第10页机制|速度。 Persistent: [true/false] · 让生物在 “mm m kilall” 命令下无敌 · 生物依然能消失,如果 Despawn 设置为 true · 生物可以在 “mm m kill X” 命令或使用 “minecraft:kill” 命令中杀死 · 默认为 false PreventItemPickup [true/false] · 防止生物捡起物品 · 默认为 true PreventLeashing: [true/false] · 防止被栓绳拉住 · 默认为 true PreventMobKillDrops: [true/false] · 防止被 MythicMob 击杀后掉落物品 · 默认为 false · 在 2.3 及以前的版本,如果被一个生物击杀,并且开启了此设置,这个设置也会阻止玩家掉落物品。不要将 游戏规则 keepInventory 开启后使用此设置! · 在 2.5 版本中修复 PreventOtherDrops: [true/false] · MythicMobs 是否应该阻止原版掉落的物品? · 默认 false PreventRandomEquipment: [true/false] · 是否阻止生物出生时有随机装备 · 默认为 false PreventRenaming: [true/false] · 阻止使用命名牌重命名生物 · 默认为 true RepeatAllSkills: [true/false] · 如果生物的血量恢复到技能设置的血量阈值以上,是否可以重新使用此技能 · 默认为 false ShowHealth: [true/false] · 是否显示生命信息,这个设置在 config.yml 中设置,并可以修改格式。 · 默认为 false Silent: [true/false] · 是否阻止生物发出原版音效 · 默认为 false
生物特定设置 每种不同的生物都有不同的设置 盔甲架 HasArms: [true/false] · 盔甲架是否有手臂 · 只可在盔甲架生物启用 · 默认为 false · 在 2.5.0 前不可用 HasGravity: [true/false] · 盔甲架是否被重力影响 · 只可在盔甲架生物启用 · 默认为 true Invisible: [true/false] · 盔甲架是否隐形 · 只可在盔甲架生物启用 · 默认为 false ItemBody: [Mythic物品名称] · 盔甲架佩戴在身体的物品 · 只可在盔甲架生物启用 ItemFeet: [Mythic物品名称] · 盔甲架佩戴在脚部的物品 · 只可在盔甲架生物启用 ItemHand: [Mythic物品名称] · 盔甲架佩戴在手上的物品 · 只可在盔甲架生物启用 ItemHead: [Mythic物品名称] · 盔甲架佩戴在头部的物品 · 只可在盔甲架生物启用 ItemLegs: [Mythic物品名称] · 盔甲架佩戴在腿部的物品 · 只可在盔甲架生物启用 Marker: [true/false] · 盔甲架是否为标记 · 设置为 true 将使盔甲架在游戏中不可破坏,也就是完全不可交互 · 只可在盔甲架生物启用 Small: [true/false] · 是否是小盔甲架 · 只可在盔甲架生物启用 · 默认为 false Pose: (2.4.4) · Head: [0,0,0] · Body: [0,0,0] · LeftArm: [0,0,0] · RightArm: [0,0,0] · LeftLeg: [0,0,0] · RightLeg: [0,0,0] · 所有默认为0 · 所有可接受的值请看下方的示例 · 注意姿势在 Options 下设置必须设置为这样: - 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
[color=rgb(51, 102, 153) !important]复制代码
鸡 Jockey: [true/false] · 是不是鸡骑士 · 不会有任何影响,但最好有个设置 · 默认为 false 爬行者 ExplosionRadius: [数字] · 设置爬行者爆炸半径 FuseTicks: [数字] · 设置引爆需要的时间(ticks) SuperCharged: [true/false] · 设置是否充能 · 默认为 false PreventSuicide: [true/false] · 阻止爬行者被自己的爆炸炸死 · 默认为 false 末影人 PreventTeleport: [true/false] · 设置为末影人,但是可能影响其他生物。可能会影响传送技能 · 默认为 false 掉落的方块 Block: [材料种类] · 设置方块材质 · 默认为 STONE BlockData: [数字] · 方块数据 · 默认为 0 马 HorseArmor: [盔甲种类] · 设置马的盔甲种类 · 可以为 IRON, GOLD, 或 DIAMOND HorseCarryingChest: [true/false] · 设置马是否携带箱子 · 默认为 false HorseColor: [马的颜色] · 设置马的颜色 · 颜色可以为 BLACK, BROWN, CHESTNUT, CREAMY, DARK_BROWN, GRAY 或 WHITE HorseSaddled: [true/false] · 设置马是否带鞍 · 默认为 false HorseStyle: [马的斑点] · 设置马的斑点 · 种类可以为 BLACK_DOTS, WHITE, WHITE_DOTS, WHITEFIELD HorseTamed: [true/false] · 设置马是否驯服 · 默认为 false HorseType: [种类] · 设置马的种类 · 可以为 UNDEAD_HORSE, SKELETON_HORSE, MULE, DONKEY or HORSE · 默认 HORSE · 在 MC 1.11+ 移除, 改为了生物种类[见上 豹猫 Ocelot: [type] · 设置豹猫种类 · 种类可为 BLACK_CAT, RED_CAT, SIAMESE_CAT, WILD_OCELOT · 默认为 WILD_OCELOT 猪 Saddled: [true/false]* · 猪出生是否带鞍 · 默认为 false 兔 RabbitType: [兔子种类] · 设置兔子种类 · 种类可为 BLACK, BLACK_AND_WHITE, BROWN, GOLD, SALT_AND_PEPPER, THE_KILLER_BUNNY 或 WHITE Baby: [true/false] · 不是很明白为什么有这个设置 · 默认为 false 蠹虫 PreventBlockInfection: [true/false] · 防止感染方块 · 默认为 true 雪人 PreventSnowFormation: [true/false] · 阻止雪人在脚下造雪 · 默认为 false TNT FuseTicks: [数字] · TNT爆炸等待的时间 · 默认为 -1(立刻) ExplosionYield: [数字] · 决定爆炸强度 · 默认为 -1 (无) Incendiary: [true/false] · 爆炸是否产生火焰 · 默认为 false 村民 VillagerType: [职业] · 设置村民生物的职业种类 · 可以为 “BLACKSMITH”, “BUTCHER”, “FARMER”, “LIBRARIAN” 或 “PRIEST”. · 如果没有此设置,将会随机选择职业 · 示例: · VillagerType: BLACKSMITH 僵尸(所有种类) ReinforcementsChance: [数字] · 生成僵尸几率为它们加强伤害 · 应该在 0 到 1 · 只在僵尸生物启用 · 默认为 0 僵尸村民 Profession: [职业] (2.4) · 设置僵尸村民代表的职业 · 僵尸在治疗后会变回各自的职业 · 可以为 “FARMER”, …
特定组的生物设置
可繁殖生物 Age: [数字] · -1 为幼年,1 为成年 · 生物的年龄 · 可用于任何有年龄的生物,如羊,猪,牛.... · 默认为 1 · 使用很低的负数来混乱生物模型(不支持) AgeLock: [true/false] · 是否锁住生物的额年龄 · 用于防止幼年生物长大 · 默认为 false · 如果你想要 Age 设置正常工作,那么这是必要的 可染色生物 用于羊和狼 Color: [数字] · 数字在 0 到 15 间 · 设置羊的毛色和狼的项圈颜色 · 注意:在MythicMobs 2.0.0 此设置变为了字符串 · 字符串为你想要的颜色,如 Color: RED 中立生物 用于狼和僵尸猪人 Angry: [true/false] · 生物生成时是否愤怒 · 注意:由于 Bukkit/Spigot 的BUG,狼在出生时不能为愤怒状态 · 使用 AIGoalSelectors 和 AITargetSelectors ,如果你想要一只愤怒的狼 史莱姆&熔岩史莱姆 PreventSlimeSplit: [true/false] · 防止史莱姆分裂 Size: [数字] · 设置史莱姆的大小 · 普通的史莱姆在 1 到 8 之间 · 每次变大会获得指数增长的大小 · 非常大的史莱姆会造成服务器卡顿甚至崩溃 可驯服生物 Tameable: [true/false] · 允许玩家驯服这些生物,用于狼、猫和马 · 默认为 false 这是一个所有可用于 Options 的生物等级的数据库。 生物等级是一个很有用的功能,用于给生物添加等级。为你的宠物添加等级可以允许很多不同的新花样。 你可以让他们的伤害和命中率随等级增长,你可以让更高级的生物掉落更多的物品。 或者,更高级的设置可以让你完全改变他们的掉落物和他们的技能,而这些都决定于他们的等级!你甚至可以通过等级来决定他们在哪里生成(使用刷怪点和随机刷怪点) 生物等级可以受世界范围影响(见下),刷怪点[第7页]随机刷怪点,或者技能[第4页]机制|设置等级机制 这个页面只会介绍基础,其他的教程/例子可能会在其他更加有深度的教程中出现。 - Zombie:
- MobType: zombie
- Health: 100
- Damage: 10
- Display: '&5Zombie Lvl - <生物等级>'
- Options:
- MovementSpeed: 0.3
- Drops:
- - GOLD_NUGGET 1 1
- DropsPerLevel:
- - GOLD_NUGGET 1 0.5
- LevelModifiers:
- Health: 5
- Damage: 0.5
[color=rgb(51, 102, 153) !important] 复制代码
每个等级的掉落下方罗列的掉落会以生物的等级为基准应用。在这个示例中,上方的僵尸拥有每等级增加50%金锭掉率的设定。所以如果这个僵尸为5级,那么它最多有机会掉落6个金锭,查看掉落[第6页]概览查看更多信息。
等级修正(LevelModifier)这些在 LevelModifier 下的选项,将会随等级增加而增加属性值。这些增加会基于基础量。
如果你没有设置基础属性量,等级修正可能不会工作。 · Health: [数字 · Damage: [数字] (注:伤害不会影响药水和箭矢造成的伤害) · KnockbackResistance: [数字 · Power: [数字] (见技能力量等级[见下) · Armor: [数字 · MovementSpeed: [数字 · AttackSpeed: [数字 “MovmentSpeed” and “AttackSpeed” 在版本 2.3.2 加入。 世界范围生物等级(随机生成的生物)可以根据配置(config.yml)中设置的世界范围设置而自动设置等级。设置它们很简单,基础的设置应该看起来是这样: - Scaling:
- Default:
- Enabled: false
- PerBlocksFromSpawn: 250
- world2:
- Enabled: false
- PerBlocksFromSpawn: 250
- world2_nether:
- Enabled: false
- PerBlocksFromSpawn: 100
[color=rgb(51, 102, 153) !important] 复制代码
首先,在设置世界范围之前,你应该先设置你的世界的名称。在大多数情况下,如果你没有设置自定义的世界名,那么默认应该是 world 。为了举例子,我们假设你的世界名为 MyAwesomeServer,在进行下一步之前,你应该设置 Enabled 为 true 现在是重要的一部分:设置 PerBlockFromSpawn [方块数]。基于这个值,MythicMobs 将会设置生成的生物不同的属性。在这个例子里,我们将 PerBlockFromSpawn 设置为 250:这也将让生成的生物: · 在离出生点 0 - 249 格为 0 级 · 在离出生点 250 - 499 格为 1 级 · 以此类推 这些设置将会在使用随机刷怪点(刷怪点[第8页]随机刷怪点)生成的生物自动应用。你可以使用 UseWorldScaling: [true/false] 选项于你的随机生成的设置上来控制生成的生物是否应该被世界范围影响。 注意世界范围不会影响原版生物和覆盖原版生物生成的生物。世界范围只对配置文件里自定义的生物有效。 MythicMobs 提供了自行编写生物AI的能力,这可以为生物添加一大堆高度自定义的设定,如生物怎样近战、攻击哪些目标、和其他的动作。
在以下的一节里,我将会提供一些例子来展示如何配置一些服务器常用的场景。
AI 目标 & 派系(AI Goals & AI Targets & Factions) · 自定义 AI 通常需要两个配置来工作,即 AI Goals,这告诉生物它需要怎样动作,和 AI Targets,这告诉生物怎样锁定目标。 · 派系用于将生物分组,经常用于更高级的配置中。 · 作为默认,每个 Minecraft 生物都有一些全局 AI 。举个例子,骷髅的 AI 告诉了骷髅应该锁定玩家为目标,并且应该使用弓和箭来攻击。为了使用 MythicMobs 重写骷髅的AI,我们要先清除它的 AI Goals,然后给他们添加新的目标。 · 让我们看看底下这个例子: - 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
[color=rgb(51, 102, 153) !important] 复制代码
· 这个示例展示了 骷髅 AI 如何攻击目标。(剪掉了其他没啥用的东西,比如随机的走动) · AIGoalSelectors 项告诉了骷髅使用弓与箭攻击目标。 · AITargetSelectors 项告诉了骷髅应该锁定玩家。 · 如你所见,一般第一件事是 clear,这样你就有一个空的AI来编辑了,这是很重要的,如果不这样做,你的AI可能不会像预期那样工作 · 现在我想让骷髅近战攻击其他的派系的生物,让我们看看这是怎么做到的: - DecayingSkeleton:
- Mobtype: skeleton
- Display: '&aa decaying skeleton'
- Health: 15
- Damage: 1
- Faction: Undead
- AIGoalSelectors:
- - 0 clear
- - 1 meleeattack
- AITargetSelectors:
- - 0 clear
- - 1 hurtbytarget
- - 2 otherfactionmonsters
- Equipment:
- - COS_WoodSword:0
- Options:
- FollowRange: 10
- MovementSpeed: 0.2
- PreventOtherDrops: true
[color=rgb(51, 102, 153) !important] 复制代码
· 骷髅 AI 编写为攻击其他派系生物和攻击它的生物,作为附加,它会使用近战攻击而不是远程攻击。 · AIGoalSelectors 项现在将目标设置为近战,需要注意的是你只有给骷髅装备剑才能使用近战攻击,装备弓的时候是不行的。但是这对僵尸是不需要的。 · AITargetSelectors 项现在将玩家移除出了它的目标范围,所以现在骷髅不会主动攻击玩家。现在骷髅将会主动攻击其他派系的生物,也就是不在它自己的派系里的生物(比如不在Undead)。这里也有一个 hurtbytarget 的优先度为1,也就是说如果有生物主动攻击了它(比如玩家),骷髅就会反击。这个属性的优先级一般都很高,这样它们就不会被随意利用。如果没有这个,骷髅就会很容易的被击杀,而不会反击,这显然不是想要的结果。 · 查看完整的 Goals 和 Targets,请查看自定义 AI[见下 · 在接下来的两个小节里,我会展示经常使用的场景以及它们的 AI 配置,这也是你可能想要在服务器里实现的功能。 示例 1:守卫攻击附近怪物 · 在这个场景里,我们想在城市的入口生成一些守卫,用以清除赶走附近乱晃的太近的怪物,你可以使用一个伪装成村民的铁傀儡,但是它们的 AI 更难控制,而且它们的击退特效对怪物也不是很公平,所以我们要使用 MythicMobs 的自定义 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
[color=rgb(51, 102, 153) !important] 复制代码
· 如果我们将这个生物放入刷怪点,它将攻击所有的玩家,所以我们需要调整一下,让它更加友善。 - 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
[color=rgb(51, 102, 153) !important] 复制代码
· 现在这个生物会攻击其他生物,也会攻击攻击它的生物(比如一些无良玩家),在攻击的时候也会主动开门。 · 这解决了一半的问题。下一步,我们需要保证城墙外游荡的生物会主动攻击我们的守卫。 · 在下面我们设置了一个 Decaying Skeleton,并且也对他们进行设置。 - 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
[color=rgb(51, 102, 153) !important] 复制代码
· 我们的 Decaying Skeleton 现在在 Undead 派系(与 Guard 派系不同),这样他就会被守卫主动攻击。并且添加 hurtbytarget 后,他们会反击来自守卫的攻击(然后死掉)。 · 其他在城镇附近生成的怪物,我们也会添加相同的 AI ,这样这些生物就有了与守卫不同的派系。 · 现在在我们生成我们的刷怪点后,它会守卫村庄,忽略玩家(只要他们不去主动招惹)。 · 其他更多的设置,比如很短的攻击距离和很短的跟随距离,会保证他们不会乱搞,而是杀死那些可以获得经验和掉落的生物。我们也添加了 PreventMobKillDrops,来防止无良玩家刷东西。 示例 2:哥布林和半兽人互相攻击 · 在真实世界里,我们有两个派系:哥布林和半兽人都不是很喜欢对方。我们创建了一个战场,但是它们都是用默认 AI,没有做太多的战斗。 · 我们可以使用 MythicMobs 的自定义 AI 来实现这个功能,这样它们就会主动互相攻击,并且也会攻击晃进战场的玩家。 · 让我们创建一个半兽人生物和一个哥布林生物。 - OrcCenturion:
- Mobtype: villagezombie
- Display: '&aan orc centurion'
- Health: 50
- Damage: 4
- Faction: Orcs
- AIGoalSelectors:
- - 0 clear
- - 1 opendoors
- - 2 meleeattack
- AITargetSelectors:
- - 0 clear
- - 1 hurtbytarget
- - 2 specificfactionmonsters Goblin
- - 3 players
- Equipment:
- - C_DeathfistSkullcap:4
- - C_DeathfistTunic:3
- - C_DeathfistLeggings:2
- - C_DeathfistBoots:1
- - COS_WoodSword:0
- Options:
- Despawn: true
- FollowRange: 10
- AlwaysShowName: false
- MovementSpeed: 0.25
- PreventOtherDrops: true
- PreventItemPickup: true
- KnockbackResistance: 0.25
- PreventMobKillDrops: true
[color=rgb(51, 102, 153) !important] 复制代码
- 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
[color=rgb(51, 102, 153) !important] 复制代码
· 这里是我们的设置里需要注意的一些地方: · 第一步,我们设置了半兽人生物在 Orc 派系,而哥布林生物在 Goblin 派系,这会将两种生物分开。 · 下一步,我们都给每个生物配置了 clear,opendoors(开门),和 meleeattack(近战),这适用于大多数近战生物。 · 最后我们将 AI Targets 清空。 · 第一是 hurtbytarget 选择器,之前也提过,这是一个很好的反击设置,这样这个生物就不会被利用。 · 下一步是 specifictargetfaction 选择器,选择互相的阵营。设置优先度为 2,这样它们没有在战斗的时候,就会主动攻击对方。 · 最后是 players 玩家选择器,如果附近没有哥布林/半兽人,它们就会攻击玩家。 · 最后记得添加 PreventMobKillDrops 为 true,这样路过的玩家就不会捡到满地的掉落物和经验。 · 如果我们要配置其他的哥布林和半兽人类型的生物,我们需要复制粘贴他们的 AI 设置,这样它们就会跟半兽人/哥布林的 AI 相同了。 技能力量是一个用于增加技能效果的属性。设置在生物配置中的基础属性不会被技能力量等级影响。这主要用于随着生物等级提升,增加技能的力量,只能应用于等级修正(生物等级[见上])。部分机制有某些属性受力量等级影响。 将来的版本将会允许你定义一个缩放因子。在现在的版本里,你不能在使用除了弹射物(见技能[第4页]机制|弹射物)和导弹(见技能[第4页]机制|导弹)机制以外的机制关闭力量等级的影响。如果不想使用,那么在等级修正中关掉它们。 被力量等级+公式影响的机制:(都可以在技能[第4页]机制找到) · leap{速度=V} - 速度 = V * ( 1 + 力量 * 0.1 ) · missile{最大范围=MR} - 最大范围 = MR * 力量 示例: 在这个示例中,一个 2 级的 ThornySkeleton 将会造成 10 伤害而不是 5,因为它获得了 +1 的力量等级(基础力量 1 + 1每级 = 2,5 * 2 = 10)。3 级的 ThornySkeleton 将会造成 15 的伤害,以此类推。 - ThornySkeleton:
- Type: SKELETON
- Health: 20
- LevelModifiers:
- Health: 10
- Power: 1
- Skills:
- - damage{a=5} @trigger ~onDamaged
[color=rgb(51, 102, 153) !important] 复制代码
见其他[第9页]伤害修正 见其他[第9页]装备 见其他[第9页]Boss血条 这个页面包含了所有在 MythicMobs 可用的 AI Goals。查看 AI 教程学习如何使用。
目标选择器目标选择器用于 AIGoalSelectors 字段,决定生物会“做”什么。某些没有包含在你创建的生物的基础 AI 里的自定义的目标可能不会工作。举个例子,僵尸不能使用 AI 目标“EatGrass”,因为僵尸永远不会吃草。但是你可以随意实验! 示例: - SuperMob:
- Type: zombie
- Health: 200
- Display: 'Superb Zombie'
- AIGoalSelectors:
- - 0 clear
- - 1 meleeattack
- - 2 randomstroll
[color=rgb(51, 102, 153) !important] 复制代码
这个僵尸会攻击玩家,在没有目标时随机乱走。
所有生物 生物可用 | | | | | 生物躲避飞来的箭矢 (在 MM 2.5.0+ 移除 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 像蜘蛛一样攻击(看不出有什么跟近战攻击不同的)(注:试着和 leapattarget 一起用) | | | 让生物飞跃到目标前(注:看起来需要 meleeattack/spiderattack 才能正确工作) | | | | | | | | | | patrol x1,y1,z1;x2,y2,z2;x3,y3,z3;… | | 让生物在指定坐标之间巡逻(在 2.4 添加,只在 MC 1.9 有效) | | | | | | |
远程攻击生物 | | | | | | skeletonbowattack(MC 1.9+) | | 新的扫射 AI,可用于 Minecraft 1.9 或更高 |
目标选择 目标选择器用于 AITargetSelectors 字段,决定生物以何为目标。 示例: - SuperMob:
- Type: zombie
- Health: 200
- Display: 'Superb Zombie'
- AIGoalSelectors:
- - 0 clear
- - 1 meleeattack
- - 2 randomstroll
- AITargetSelectors:
- - 0 clear
- - 1 players
- - 2 golems
[color=rgb(51, 102, 153) !important] 复制代码
全部生物 · clear - 特殊设置,清除AI · attacker - 将攻击者设为目标 · monsters - 将怪物设为目标 · players - 将玩家设为目标 · villagers - 将村民设为目标 · golems - 将傀儡设为目标.... 全部生物 (支持派系) · OtherFaction - 将任何非本派系的生物设为目标 · OtherFactionMonsters - 将任何非本派系的怪物设为目标 · OtherFactionVillagers - 将任何非本派系的村民设为目标 · SpecificFaction [faction_name] - 将任何指定派系的生物设为目标 · SpecificFactionMonsters [faction_name] - 将任何指定派系的怪物设为目标 示例: - AITargetSelectors:
- - 1 SpecificFaction undead
[color=rgb(51, 102, 153) !important] 复制代码
这会强制生物攻击 undead 派系的生物 可驯服生物 · ownerattacker - 攻击攻击主人的生物 · ownertarget - 攻击主人攻击的生物 击杀信息允许你自定义一个玩家被生物击杀的消息。一般情况下,如果谁被击杀了,服务器会只显示“Player was slain by Zombie”或者“Player burned to death”,等等。使用 MythicMobs 为你的生物添加自定义的死亡信息会让死亡更加... 有深度。
格式 添加自定义击杀的格式很简单。你甚至可以给每个生物设置很多条消息(随机选择一个)。 - Souleater:
- Type: SKELETON
- Display: 'Soul Eater'
- Health: 666
- KillMessages:
- - '<target.name> 的灵魂完全被吞噬了!'
- - '<target.name><&sq>的灵魂成为了 Soul Eater 的盛宴'
- Skills:
- ...
[color=rgb(51, 102, 153) !important] 复制代码
这太简单了!任何被 Sou lEater 击杀的玩家都会随机显示上面的两条消息之一,全服公告。变量(技能[第4页]变量)也可以使用在这些消息里!最重要的 <target.name> 代表玩家姓名。 为了使用更多的自定义,你可以编辑你的 config.yml 改变 KillMessagePrefix。这允许你将一个简单的前缀放在击杀消息里(然而在前缀中不支持变量)。 技巧 你可以在 KillMessages 字段里留空来完全关闭生物击杀消息。就像这样: - SilentUndead:
- Type: zombie
- Display: 'Silent Undead'
- KillMessages:
- - ''
[color=rgb(51, 102, 153) !important] 复制代码
威胁表改变了生物吸引目标的方式,普通的 Minecraft 生物不会遵循死板的目标系统 - 它们在攻击者之间徘徊。威胁表改变了这个现状。启用威胁表后,生物会一直跟随固定的玩家,并首先攻击造成最多伤害的玩家。这就避免了车轮战的情景。 威胁表拥有一些内置的特性,让生物的目标系统更加智能,并且使用大多数 MMORPG 游戏的规则。玩家造成伤害后会获得威胁值,离开Boss一定距离(也就是 MaxCombatRange)后失去威胁,或者是在视野以外一段时间。玩家下线或是离开世界也会失去威胁。 生物只会将另一个超过目前威胁110%的玩家设置为目标。 注意激活威胁表会覆盖AI 选择器[见上]的设置。一个激活了威胁表的生物会尝试攻击任何对他造成了伤害的生物 - 即使这个生物没有在 AI 目标选择器里出现,甚至是在 AI 目标选择器里移除的生物。 启用威胁表 为一个生物开启威胁表很容易。只需要添加 Modules.ThreatTable:true 就可以了,像这样: - BigScaryBoss:
- Type: zombie
- Display: '&6Zombie'
- Health: 20000
- Modules:
- ThreatTable: true
[color=rgb(51, 102, 153) !important] 复制代码
就是这样! 操控威胁等级 如果一个生物启用了威胁表,它将总是将最高威胁的生物作为首要目标。这个处理过程是完全自动的,并且基于生物造成的伤害。一般生物(经常是玩家)造成了最多的伤害,会获得最多的威胁,并且成为生物的目标。 但是,如果你想要手动让生物主动以特定实体为目标,或者只是做些优化让它的目标系统更加机智,你可以使用威胁机制(技能[第4页]机制|威胁)。 威胁表拥有一个API,包括了一个“taunt”(嘲讽)方法和威胁切换方法,如果其他插件开发者想要制作与威胁交互的技能,就可以使用。 免疫表允许一个生物跟踪每个玩家的伤害值,并将 NoDamageTicks 单独分配,这样每个玩家每半秒只能造成一次伤害,而不是全体玩家。基础来说,这允许多个玩家同时攻击生物并都造成伤害。
启用免疫表 为一个生物开启免疫表很简单,只需要添加 Modules.ImmunityTable: true 到你的配置,就像这样: - BigHealthBoss:
- Type: pig_zombie
- Display: '&6Hungry Hungry Piggy Zombie'
- Health: 20000
- Modules:
- ImmunityTable: true
- Options:
- NoDamageTicks: 10
[color=rgb(51, 102, 153) !important] 复制代码
就是这样! 免疫表会分配无敌时间到每个玩家,如果你想要更改。但是 Minecraft 默认的 10 ticks 没有必要更改。 生物伪装以 LibsDisguises 和 ProtocolLib 作为前置。少了任意一个,生物伪装都不会工作。
注意,有些版本的插件/服务器可能无法使用伪装,请自行实验。
伪装允许你让你的生物看起来像其他生物、方块甚至是物品!伪装允许你做出很多装逼的、本来不可能实现的东西。这个功能的可能性很大。
下面是一个详细的列表,写出了所有可供伪装的物品、方块、生物:
可用伪装 · arrow · babyzombievillager · bat · blaze · boat · cave_spider · chicken · cow · creeper · donkey · 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 · mule · mushroom_cow · ocelot · painting · pig · pig_zombie · polar_bear · primed_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 设置 所有的伪装都有一些可用的设置。这些设置都在 Disguise 块下。 · Disguise.Burning: true - 让生物燃烧 · Disguise.Blocking: true - 让生物一直保持阻挡动作 · Disguise.Invisible: true - 让生物永久隐形 · Disguise.ShowName: true - 显示名称标签(比如方块、物品、生物) · Disguise.Sneaking: true - 让生物一直保持潜行动作 · Disguise.Sprinting: true - 让生物一直保持疾跑动作 · Disguise.ModifyBoundingBox: false - 设置为 false 会使用原来的碰撞箱 · Disguise.Glowing: [true/false] - 让生物永久发光 · Disguise.Gliding: [true/false] - 让生物永久滑翔 “Glowing” 和Gliding” 添加于版本 2.3.2. 最多的例子: - SneakyDisguisingMob:
- Type: wither_skeleton
- Display: 'meh'
- CustomKillMessages:
- - '<target.name> was sneaked upon! (to death)'
- Health: 128
- Disguise:
- Type: player
- Skin: 'meeeh'
- Player: Steve
- Burning: true
- Blocking: true
- Invisible: false
- ShowName: false
- Sneaking: true
- Sprinting: true
- ModifyBoundingBox: false
[color=rgb(51, 102, 153) !important] 复制代码
示例 使用伪装的示例: - MobType: skeleton
- Health: 20
- Disguise:
- Type: player
- Player: Ashijin
- Skin: Notch
[color=rgb(51, 102, 153) !important] 复制代码
- MobType: skeleton
- Health: 20
- Disguise:
- Type: pig
[color=rgb(51, 102, 153) !important] 复制代码
Quests 模块添加了一个 “Kill # Mythic Mobs” 目标到 Quests,允许你设置击杀 MythicMobs 生物的任务。 安装 · 在 这里下载 MythicMobs-Quests.jar · 放入 plugins/Quests/modules 文件夹 · 开启你的服务器 使用 · 设置任务时,选择 Custom Objectives · 添加 “Kill MythicMobs” 到你的任务,然后根据指示继续 已知问题 · Quests 有时启动时会报错,但是所有的功能都可用。我也不知道这是怎么回事,但是所有的功能都正常 · 使用了其他的版本,模块可能不工作 · Quests 完全不能用,除非添加了这个插件 使用 Miniature Pets 和 MythicMobs,你可以使用自定义模型的生物! 安装 · 在 这里下载 MiniaturePets(注意MiniaturePets是个付费插件) · 放进插件文件夹 · 开启服务器 使用 使用 MiniaturePets 支持很简单: - ExampleMob:
- Type: MPET
- MPet:
- Type: <type>
- Anchor: <invisible "base" mob type>
- ShowName: <true/false>
[color=rgb(51, 102, 153) !important] 复制代码
举个例子,你可以创建 AngryPig 并使用 MPets有的 “Pug” 类型: - AngryPug:
- Type: MPET
- MPet:
- Type: pug
- Anchor: SPIDER
- ShowName: true
- Display: 'Angry Pug'
[color=rgb(51, 102, 153) !important] 复制代码
已知问题 · “type”大小写敏感,并且必须是你的 MPets 里的设置 · 行走速度可能很奇怪 |