找回密码
 立即注册

微信登录

只需一步,快速开始

QQ登录

只需一步,快速开始

[Wiki][PCD]MythicMobs 帮助手册翻译 又更新了

像素搬运菌 2024-2-22 00:07:45 转载 阅读 833 来自 中国广西南宁
联机教程
教程类型: 插件
教程来源: 转载
原贴地址: mcbbs - 754503921
教程目标: MythicMobs

马上登录/注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
MythicMobs Manual
索引 & 原文

醒目!嫌鼠标翻着很累的,可以去这里看

https://pluginscdtribe.github.io/wiki/mythicmobs/


1. 索引
2. 概览
  ├ 什么是 MythicMobs
  ├ 变更日志
  ├ CONFIG.YML
  ├ 命令
  ├ 权限
  ├ 常见问题
  ├ 例子
  └ Artifacts 附加插件
3. 生物
  ├ 概览
  ├ 生物种类列表
  ├ 生物设置
  ├ 生物等级
  ├ 生物派系(自定义AI)
  ├ 技能力量等级
  ├ 自定义 AI
  ├ 自定义击杀信息
  ├ 模块:威胁表
  ├ 模块:免疫表
  ├ 附加:伪装
  ├ 附加:任务
  └ 附加:Miniature Pets
4. 技能
  ├ 概览
  ├ 机制
  ├ 特效
  ├ 目标
  ├ 触发
  ├ 条件
  └ 变量
5. 物品
  ├ 概览
  ├ 物品属性
  ├ 物品设置
  ├ 常用物品 ID
  ├ 附魔
  ├ 药水
  └ 旗帜图案
6. 掉落
  └ 概览
7. 刷怪点
  ├ 刷怪点
  └ 随机刷怪点
8. 其他
  ├ 伤害修正
  ├ 装备
  ├ Boss 血条
  └ 颜色
9. 教程 (由于篇幅限制,在2楼提供)
  ├ 第一步
  ├ 更改原版生物
  ├ 创建随机刷怪点
  ├ 自定义生物 AI
  └ 使用命令技能
10. Artifacts 附加 (由于篇幅限制,在2楼提供)
  ├ 技能
  ├ 机制
  ├ 条件
  ├ 选项
  ├ 弹药
  ├ 耐久
  ├ Lore 属性
  └ 示例
MythicMobs Manual
教程 & 资源下载
1. 资源下载
本 Wiki 字数统计为 39134 字
Wiki 的文档版在这里下载

2. 第一步
使用 MythicMobs 创建自己的生物甚至是Boss是很简单的,这些是你需要了解的:
· 如何配置 YAML 文件
· 你的文件到哪里去了
· MythicMobs 拥有的设置选项
YAML-文件
YAML 格式的文件常用于保存配置。这些文件易于读写,并且加载的很快。绝大多数的 Minecraft 插件都使用 YAML 文件来作为他们的配置文件,MythicMobs 也不例外。
如果你想要深入了解YAML是什么,那么请前往 YAML Wiki 条目(英文)(中文,需过墙
然而更多关于 YAML 的知识对于配置 MythicMobs 的生物来说,是不需要的。
但是使用 YAML 时有一点需要注意:不要使用 Tab 键
编辑 YAML 文件的最好的软件是 Notepad++
你的文件到哪里去了
在加载 MythicMobs 到你的服务器之后,它的文件夹将会像大部分 Minecraft 插件一样,在 /plugins 文件夹内,你甚至会找到很多的子文件夹。
将配置文件放入正确的文件夹始终是非常重要的。
错误的放置配置文件将会被插件读取为其他东西,比如你讲生物配置放进了技能文件夹,插件就将试图将它读取为生物的技能,当然这会报错并输出到你的服务器控制台。
记住:将文件放进正确的文件夹,否则你的创造物将不会运行。
ExampleXXX.yml这些示例文件无法被删除,它们将会在下次重启时重新生成,如果你不想加载里面的配置,只需要删除里面的内容。
MythicMobs 设置
确实,MythicMobs 有很多的配置可供修改,但是你不应该就这样去做了,你修改的东西越多,就越容易犯错误,也就会最终变得困惑不解、不知所措,被水淹没。说到这里,我建议你做几件事,这将让你更加得心应手:
创建一个本地服务器
在你自己的电脑上创建一个 Spigot 服务器,这是创建和测试最便捷的方法了。只需要安装服务器,创建一个超平坦世界。接着载入 MythicMobs 和其他你想测试的插件,这样做有以下优势:
· 你可以按下 Tab 切换 Minecraft 和 Notepad++
· 安全的测试环境
· 崩溃不打扰其他人
· 速度快捷
如果你的电脑足够久远,并且你担心性能什么的,不用担心,Spigot 足够轻量,并且如果你的电脑可以胜任原版的单人游戏,那么我想你的电脑也可以开着 Spigot 玩服务器。(相信我,我用着一颗上古双核处理器,但是表现令人尖叫)
选择正确的版本
突然有了问题?请确保你使用了对应你版本的 MythicMobs,兼容列表也可以在下载页面找到。
3. 更改原版生物
MythicMobs 不止能创建自定义生物,它也可以改变原版 Minecraft 生成的生物。实现这个太简单了,你需要做的只是将想要改变的生物写入自动生成的 VanillaMobs.yml 文件,位于/MythicMobs/Mobs 文件夹。接着你就可以做你想做的了。
一般来说,覆盖原版生物可以使用整个 MythicMobs 的技能和选项。如果你在某个地方跌倒了,请确认你使用了正确的格式并爬起来,如果爬不起来,那么请到我们的 Bug提交论坛 寻求帮助!
完全移除一个原版生物(知道你讨厌苦力怕)
让我们轻松地开始,你可能在寻找这个:如何阻止一个特定的生物生成。
我们猜你狠苦力怕入骨,而且你还想让他们见鬼去吧。第一件事我们要做的是找到苦力怕的正确种类代号,我们可以在这个页面(见生物|生物种类)找到正确的种类代号为... “CREEPER”。
VanillaMobs.yml
CREEPER:
由于一些显而易见的原因,确定一个生物种类不是必要的(难道不是吗2333)。剩下需要做的是添加一个移除机制到这个生物,这样当它出生时就会移除。
CREEPER:
  Skills:
  - remove @self ~onSpawn

就是这样!任何生成的苦力怕会马上删除!
如果你想阻止更多生物生成,那么你就无限重复上面的过程,就像这样:
CREEPER:
  Skills:
  - remove @self ~onSpawn
ENDERMAN:
  Skills:
  - remove @self ~onSpawn
ZOMBIE:
  Skills:
  - remove @self ~onSpawn
...

给生物添加5毛特效(可爱的僵尸)
僵尸没那么吓人是吧?或者你想让你的服务器的年龄限制下降一些?让我们给你的休闲小怪加上一些爱。第一步,找到生物种类,接着还是像这样:
VanillaMobs.yml:
ZOMBIE:
接着,我们要使用粒子机制(见技能|机制|粒子),选择我们想要的爱心粒子(“heart” <3),从粒子类型选择。
ZOMBIE:
  Skills:
  - effect:particles{particle=heart;amount=1;hs=0.1;vs=0.1;y=1.5} @self ~onTimer:20 0.25


然后又一次,我们成功了。显而易见,我们有了一个完全自定义的生物。这个例子将会生成一颗红心粒子,平均每 4 秒一颗。
更改生物选项(爬行的末影人)
你可以在原版生物上更改生物选项,让我们把服务器里的末影人变得更加可怕,同时也会丧失它们的基础能力。
ENDERMAN:
  Options:
    PreventTeleporting: true
  Skills:
  - potion{type=INVISIBILITY;duration=630720000;level=0} @self ~onSpawn

这个示例将会阻止你的服务器的末影人使用传送能力,注意这些设置只会对 Minecraft 生成的生物有效。你创建的其他自定义的生物(比如末影人)不会受到原版覆盖带来的影响。
并且,末影人在生成时会对自己使用药水机制,这样让他们隐形 63072000 ticks。这看起来可能像个随机数,然而这相当于游戏内的 1 年,为什么不呢?
但是末影人并不会永久隐形。你仍然会看到他们的眼睛,就像隐形的蜘蛛一样,末影人也是。
更改属性
这个该不用多说什么了吧,你可以更改原版覆盖生物的属性。就像这样:
ZOMBIE:
  Health: 200
  Damage: 20
  Armor: 5
  Options:
    MovementSpeed: 0.25
    FollowRange: 137
    Silent: true
  Skills:
  - jump{v=0.5} ~onTimer:140

4. 创建随机刷怪点
示例 1:大多数普通生物,一个稀有的 Boss
场景
作为一个腐竹,你的玩家有一个采矿世界,用于挖掘各种矿物到他们的地皮。你想通过 MythicMobs 偶尔产生一些稀有的强大的生物而不是普通的生物,来让玩家的生存更加刺激。这个 Boss 可能掉落一些有趣的装备,或者掉落罕见的金块和钻石块。
要求
1. 我们希望在地面上生成普通怪物,在地下生成 Boss
2. 所有的其他的生物是自然的生物
世界名: MiningWorld
外界生成
· Skeletal Fire Wizard (1% chance)
内部生成
· Skeletal Necromancer (1% chance)
步骤
1. 我们使用 RandomSpawners 所以第一件事是确认当前世界开启了生物生成。
· 如果你已经有了自然生成的野怪,那么你已经开启了。
· 如果没有,请做这些事:打开 server.properties 文件,检查 Spawn-Monsters 为 true。重启你的服务器,下一步是使用 /gamerule doMobSpawning true 来保证规则执行。
2. 接下来我们需要设置两个强大的Boss生物,使用MythicMobs手册的其他配置Boss。对于这个例子,很好地使用我们的 Skeletal Fire Wizard 生物为地面的 Boss, Skeletal Necromancer 为地下的Boss。这两个生物都可以在例子中找到。
3. 创建 RandomMobSpawner 设置
SkeletalFireWizard:
  Mobname:SkeletalWizard_Fire
  Worlds: MiningWorld
  Chance: 0.01
  Priority: 1
  SpawnMethod: replace
  Conditions:
    - outside true

分析
1. Minecraft 会决定在 MiningWorld 世界生成生物
2. MythicMob 的 RandomSpawner 开始运行,决定生成的生物
3. 如果生成器决定生成 SkeletalFireWizard,随机刷怪点会掷骰决定生成。
4. 如果生成器决定生成 SkeletalNecromancer,随机刷怪点会掷骰决定生成。
5. 如果都没有,那么生成普通小怪
示例 2:密集的冒险区(仅 MythicMobs)
场景
作为腐竹,你设置了一片用于冒险的区域,让玩家杀死 MythicMobs 并掉落稀有物品。你只想让 MythicMobs 生成,自然生物不能生成。这片区域附近包括了一片森林群系和下雪的群系。
要求
1. 只生成 MythicMobs
2. 应该有几率生成 Boss
3. 如果没有生成 Boss,每个区域都应该随机生成一个生物
冒险区域
· 世界名: world
· 区域: AdvRegion
冒险区域生物
· Abominable Snowman (1% 几率)
森林群系生物
· Large Spider (25% 几率)
· Minor Earth Elemental (25% 几率)
· Greater Earth Elemental (25% 几率)
· Black Wolf (25% 几率,默认生成)
雪地生物
· Frost Spider (25% 几率)
· Minor Frost Elemental (25% 几率)
· Greater Frost Elemental (25% 几率)
· White Wolf (25% 几率,默认生成)
步骤
1. 我们使用 RandomSpawners 所以第一件事是确认当前世界开启了生物生成。
· 如果你已经有了自然生成的野怪,那么你已经开启了。
· 如果没有,请做这些事:打开 server.properties 文件,检查 Spawn-Monsters 为 true。重启你的服务器,下一步是使用 /gamerule doMobSpawning true 来保证规则执行。
2. 下一步我们使用 WorldEdit 创建区域。选择一片区域,使用 /region define AdvRegion 定义一片区域。
3. 设置 8 个普通生物和一个 Boss,仿照下方的教程
4. 创建 RandomMobSpawner 配置:
整个冒险区域
AbominableSnowman:
  Mobname: AbominableSnowman
  Worlds: world
  Chance: 0.01
  Priority: 100
  SpawnMethod: replace
  Conditions:
    - inregion AdvRegion

仅森林区域
LargeSpider:
  Mobname: LargeSpider
  Worlds: world
  Chance: 0.25
  Priority: 2
  SpawnMethod: replace
  Conditions:
    - inregion AdvRegion
    - biome forest
MinorEarthElemental:
  Mobname: MinorEarthElemental
  Worlds: world
  Chance: 0.25
  Priority: 2
  SpawnMethod: replace
  Conditions:
    - inregion AdvRegion
    - biome forest
GreaterEarthElemental:
  Mobname: GreaterEarthElemental
  Worlds: world
  Chance: 0.25
  Priority: 2
  SpawnMethod: replace
  Conditions:
    - inregion AdvRegion
    - biome forest
BlackWolf:
  Mobname: BlackWolf
  Worlds: world
  Chance: 1
  Priority: 1
  SpawnMethod: replace
  Conditions:
    - inregion AdvRegion
    - biome forest

仅下雪区域
FrostSpider:
  Mobname: FrostSpider
  Worlds: world
  Chance: 0.25
  Priority: 2
  SpawnMethod: replace
  Conditions:
    - inregion AdvRegion
    - biome snowy
MinorFrostElemental:
  Mobname: MinorFrostElemental
  Worlds: world
  Chance: 0.25
  Priority: 2
  SpawnMethod: replace
  Conditions:
    - inregion AdvRegion
    - biome snowy
GreaterFrostElemental:
  Mobname: GreaterFrostElemental
  Worlds: world
  Chance: 0.25
  Priority: 2
  SpawnMethod: replace
  Conditions:
    - inregion AdvRegion
    - biome snowy
WhiteWolf:
  Mobname: WhiteWolf
  Worlds: world
  Chance: 1
  Priority: 1
  SpawnMethod: replace
  Conditions:
    - inregion AdvRegion
    - biome snowy

分析
这个设置更加复杂了,让我们看看发生了什么:
1. Minecraft 会决定在 AdvRegion 区域生成生物
2. MythicMob 的 RandomSpawner 开始工作,决定生成什么生物
3. 所有的 RandomMobSpawners 会掷骰决定生成哪个生物
4. 如果 AbominableSnowman (优先度 100) 轮到了,将会立刻生成而跳过下一个生物,因为它拥有最高的优先度
5. 如果生物在森林中生成,那么只会考虑森林的突变种群
6. 对于森林群系,将会掷优先度为 2 的生物(Large Spider 和 elementals)
7. 任意掷到的生物都会生成
8. 如果没有生物被掷到,那么就会生成 Black Wolf,因为它有最低的优先度,并且几率 100%
9 如果生物在雪地中生成,那么只会考虑雪地的突变种群
10. 对于雪地群系,将会掷优先度为 2 的生物(Frost Spider 和 elementals)
11. 任意掷到的生物都会生成
12. 如果没有生物被掷到,那么就会生成 Whitek Wolf,因为它有最低的优先度,并且几率 100%
13. 请注意,这种设置将会保证 MythicMobs 一定生成。许多人认为将几率设置为 100% 会让自然生物不会生成、这不是插件工作原理导致的,这是因为总是有很小的几率,所有生物都没有掷到,Minecraft 就会生成原版生物,这就是为什么要添加一个优先度最低而且几率为 100% 的生物在最后。
5. 自定义生物 AI
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

· 这个示例展示了 骷髅 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

· 骷髅 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

· 如果我们将这个生物放入刷怪点,它将攻击所有的玩家,所以我们需要调整一下,让它更加友善。
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

· 现在这个生物会攻击其他生物,也会攻击攻击它的生物(比如一些无良玩家),在攻击的时候也会主动开门。
· 这解决了一半的问题。下一步,我们需要保证城墙外游荡的生物会主动攻击我们的守卫。
· 在下面我们设置了一个 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

· 我们的 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

GoblinBattlemaster:
  Mobtype: zombie
  Display: '&aa goblin battlemaster'
  Health: 80
  Damage: 4
  Faction: Goblin
  AIGoalSelectors:
  - 0 clear
  - 1 opendoors
  - 2 meleeattack
  AITargetSelectors:
  - 0 clear
  - 1 hurtbytarget
  - 2 specificfactionmonsters Orcs
  - 3 players
  Equipment:
  - COS_BronzeHead:4
  - COS_BronzeChest:3
  - COS_BronzeLegs:2
  - COS_BronzeFeet:1
  - COS_WoodAxe:0
  Skills:
  - skill BashI ~onAttack >0 0.25
  Options:
    Despawn: true
    FollowRange: 10
    AlwaysShowName: false
    MovementSpeed: 0.25
    PreventOtherDrops: true
    PreventItemPickup: true
    KnockbackResistance: 0.4   
    PreventMobKillDrops: true

· 这里是我们的设置里需要注意的一些地方:
· 第一步,我们设置了半兽人生物在 Orc 派系,而哥布林生物在 Goblin 派系,这会将两种生物分开。
· 下一步,我们都给每个生物配置了 clear,opendoors(开门),和 meleeattack(近战),这适用于大多数近战生物。
· 最后我们将 AI Targets 清空。
· 第一是 hurtbytarget 选择器,之前也提过,这是一个很好的反击设置,这样这个生物就不会被利用。
· 下一步是 specifictargetfaction 选择器,选择互相的阵营。设置优先度为 2,这样它们没有在战斗的时候,就会主动攻击对方。
· 最后是 players 玩家选择器,如果附近没有哥布林/半兽人,它们就会攻击玩家。
· 最后记得添加 PreventMobKillDrops 为 true,这样路过的玩家就不会捡到满地的掉落物和经验。
· 如果我们要配置其他的哥布林和半兽人类型的生物,我们需要复制粘贴他们的 AI 设置,这样它们就会跟半兽人/哥布林的 AI 相同了。
6. 使用命令技能
这个功能很没意思,而且会在后台大量刷提示,不译。
原理就是用command机制和execute和其他原版命令



(0)
像素搬运菌板块版主

帖子地址: 

发表回复

使用道具 举报

评论列表(1条)

像素搬运菌 楼主 来自 中国广西南宁

举报

本帖最后由 像素搬运菌 于 2024-2-22 00:24 编辑

MythicMobs Manual

机制(元技能)查询
首字母字典序
Add Tag(计分板添加标签)
添加计分板标签到目标。
属性
属性
别名
描述
默认值
tagt标签名称default
特别注意
用于 hastag 条件。你也可以使用原版命令 “/scoreboard players tag <玩家名> add [标签名 ” 做到同样的事。
示例
给生物“Test”标签
  • TagSkill
  •   Skills:
  •   - addtag{t=Test} @self



只在生物拥有“Test”标签时使用
  • TagTest:
  •   Conditions:
  •   - hastag{t=Test}
  • Skills:
  •   - suicide @self





Activate Spawner(激活刷怪点)
激活一个 MythicMobs 刷怪点,让其开始刷怪。不会覆写刷怪点的任何条件和选项。
属性
属性
别名
描述
默认值
spawnersspawner, s激活的刷怪点的名称。可以使用组和正确的通配符NONE
特别注意
最好将刷怪点的“useTimer”属性设置为“false”。
示例
这将激活“BossAdd”刷怪点
  • Skills:
  • - activatespawner{spawner=BossAdd}



这将激活所有在“Castle”组中的刷怪点
  • Skills:
  • - activatespawner{spawner=g:Castle}



这将激活所有以 “DungeonBoss1Spawner”开头的刷怪点 (比如 DungeonBoss1Spawner1, DungeonBoss1Spawner2, 等等)
  • Skills:
  • - activatespawner{spawner=DungeonBoss1Spawner*}





Arrow Volley(发射箭簇)
使用多个可配置的属性向目标发射一簇箭。
属性
属性
别名
描述
默认值
amounta箭簇的数量20
spreads箭簇的展开量45
velocityv箭簇的速度20
fireTicksf击中敌人造成燃烧的时间0
removeDelayrd多久箭簇会被移除200
注意 spread 量可能会很高!
示例
  •   Skills:
  •   - arrowvolley{a=20;s=25;v=10;f=50;rd=200} @Target



这将发射 20 支箭,展开量为 25,,速度为 10,对任何生物造成 50 ticks 火焰伤害 (2.5 秒),接着在 200 ticks (10 秒) 后移除它们。


Atom(特效:原子)
注意:你必须安装 EffectLib 才能使用此特效。
使用
  • effect:atom{particlenucleus=[粒子特效];amountnucleus=[数量];particleorbital=[粒子效果];amountorbital=[数量];orbitals=[数量];radius=[数量];radiusnucleus=[数量];rotation=[数量];iterations=[数量];interval=[数量]} <目标> <触发器> <生命修正> <几率>



描述
播放来自 EffectLib 的自定义特效 Atom
细节
particlenucleus(pn): 核心使用的粒子名称
particleorbital(po): 轨道使用的粒子名称
amountnucleus(an): 核心的粒子数量
amountorbital(ao): 轨道的粒子数量
orbitals(o): 轨道添加的粒子数量
radius: 轨道半径
radiusnucleus(rn): 核心的半径,百分比:0=无, 0.50=轨道半径的半径, 1=和轨道一样大, 2.0=两倍轨道大小
rotation(ro): 轨道轴旋转量
iterations(t): 播放次数
interval(in): 每次播放的间隔
示例
  • effect:atom{pn=reddust;po=happyVillager;an=550;ao=150;o=5;r=4;rn=4;ro=0;t=25;i=5} @Self ~onInteract



创建一个原子特效,当你右键生物时,以 5 ticks 作为间隔播放 25 次,这个特效看着像个西瓜。


Bar Timer
等待原文更新。


Base Damage(基础伤害)
添加于版本 2.3
对目标造成以自身能力为基础的伤害。
属性
属性
别名
描述
默认
multiplierm造成伤害的百分比1
ignoreArmoria是否忽略护甲false
preventknockbackpkb, pk是否防止击退false
preventimmunitypi是否忽略免疫false
示例
这个示例中,生物受到攻击时,将会对目标造成 150% 自身基础攻击的伤害。
  •   Skills:
  •   - basedamage{m=1.5} @target ~onDamaged





Block Mask(方块遮罩)
添加于版本 2.2
创建一个由方块构成的遮罩包围目标。创建或变更的方块最后会回到最初的状态。提前重置方块可以使用 blockunmask-effect (见下的示例)
注意 blockmask 特效永远不会对世界中的方块造成变化,也不会破坏任何环境。这个特效造成的方块变化其实是装饰,没有方块真正变化了,所有东西都会还原。
属性
属性
别名
描述
默认值
materialmat, m用于方块遮罩的方块,必须是对应的 Bukkit 材料名gravel
datadv方块的数据值0
radiusr特效的半径0
noairna如果设置为 false 也会转换空气方块true
noisen设置特效的随机量0
durationd特效的持续时间 (20 ticks = 1 秒)。设置为 0 则是无限时间0
shapes特效的形状sphere
Bukkit 材料名可以在游戏内输入 /itemdb 命令,这个命令将会输出方块的材料名和其他的数据如数据值,这个命令应该在任何 Bukkit / Spigot 服务器可用。
特效: Blockunmask
blockunmask 特效将会反转 blockmask 造成的方块变化。比如当生物死亡时,可以使用这个技能来“清理”发送至玩家的假的方块更新。然而这并不是必要的,因为这会强制重新加载区块,该玩家的特效会消失。
属性
别名
描述
默认值
radiusr方块遮罩半径0
shapes特效的形状sphere
示例
1. 在生物周围创建一个地狱岩环境。将储蓄时间设置为 0 将会让这些假方块一直停留,直到玩家手动更新方块或者玩家重新登录。
  • - effect:blockmask{m=netherrack;r=5} @self ~onTimer:1200



2. 在 50 格内的每个玩家脚下创建冰块,让他们不断滑动。
  • - effect:blockmask{m=ice;r=2;d=20} @PIR{r=50} ~onTimer:5



3. 删除 blockmask 造成的效果,此特效只有 radius 属性。
  • - effect:blockunmask{r=30}





CancelEvent
等待原文更新。


Cast
[spoiler]等待原文更新。


Chain
等待原文更新。


Command(命令)
让每个提供的目标使用技能。
颜色字符和变量都可以使用。
如果命令包括了双引号和花括号,那么需要使用变量替换,否则不能执行。你可以查看命令技能教程(虽然未译)。这是因为这些符号作为技能语法的一部分,容易造成混乱。在 MythicMobs 2.4 以上,花括号不用使用变量替换了,但是引号仍然需要。
属性
属性
别名
描述
默认值
commandc执行的命令
示例
正确书写的命令技能
  • Skills:
  • - command{c="give <target.name> gold_bar 20"} @trigger ~onInteract
  • - command{c="minecraft:tp <target.name> <mob.uuid>"} @self ~onDamaged
  • - command{c="minecraft:summon Zombie ~ ~ ~ <&lc>NoAI:true,CustomName:<&dq>Summoned Zombie<&dq><&rc>"}
  • - command{c="minecraft:summon Zombie ~ ~ ~ {NoAI:true,CustomName:<&dq>Summoned Zombie<&dq>}"}



无效的命令技能
以下的命令不会被执行,因为没有正确使用变量(空格等,详见技能|变量)。
  • Skills:
  • - command{c="minecraft:summon Zombie ~ ~ ~ {NoAI:true,CustomName:"Summoned Zombie"}"}





Consume(生命吸收)
伤害每个目标,并为生物恢复生命。
属性
属性
别名
描述
默认
damaged,dmg造成的伤害量None
healh每个伤害恢复的血量None
preventknockbackpkb, pk是否阻止击退false
preventimmunitypi是否忽略免疫false
ignorearmori,ia是否忽略目标盔甲false
“preventknockback” 和 “preventimmunity” 添加于 MythicMobs 2.3
示例
每杀死一个僵尸,为 Boss 恢复 20 HP
  •   Skills:
  •   - consume{d=1000;h=20} @MobsInRadius{type=ZOMBIE;r=20}





Damage(伤害)
伤害目标生物。
属性
属性
别名
描述
默认
amounta造成的伤害1
ignoreArmoria是否忽略护甲false
preventknockbackpkb, pk是否阻止击退false
preventimmunitypi是否忽略免疫false
“preventknockback” 和 “preventimmunity” 添加于 MythicMobs 2.3
示例
对目标造成忽略护甲的20点伤害
  • Skills:
  • - damage{amount=20;ignoreArmor=true} @target ~onTimer:20





Delay(延迟)
对当前的技能列表延迟一定 ticks。
Delay 可以添加进技能,如“delay=TICKS”,详见下方示例。
技能延迟和格式延迟效果不同。
示例
  •   Skills:
  •   - ignite{ticks=60}
  •   - delay 60
  •   - explode



这样也可以:
  •   Skills:
  •   - ignite{ticks=60;delay=80}
  •   - explode{delay=80}



或:
  •   Skills:
  •   - skill{skill=exampleskill;delay=200}





Disguise(伪装)
在生物上使用伪装。这个技能需要安装 Libs Disguises 和 ProtocolLib 才可用。
查看概览|附加:伪装查看完整的伪装列表。
属性
属性
别名
描述
默认
disguised应用到生物的伪装
示例
这会让生物变成羊:
  •   Skills:
  •   - disguise{d=SHEEP}



这会让生物变成玩家,使用 Notch 的皮肤,并有 Jeb 的名称标签:
  •   Skills:
  •   - disguise{d=player:&7Jeb:Notch}





Dismount(取消骑乘)
让生物取消正在骑乘的生物,如果没有正在骑乘,那么没有任何效果。没有属性,没有目标。
示例
  •   Skills:
  •   - dismount ~onDamaged





Doppleganger(分身)
复制目标玩家的外形,如果目标不是玩家则无效。这个技能需要安装 Libs Disguises 和 ProtocolLib 才可使用。
示例
  • Ditto:
  •   Type: SKELETON
  •   Skills:
  •   - doppleganger @NearestPlayer ~onSpawn





EjectPassenger(弹射骑乘者)
将骑在身上的生物弹出。总是影响自身,没有目标,没有属性。
示例
  •   Skills:
  •   - ejectpassenger ~onDamaged





Ender(特效:末影)
在目标处创建末影特效。
示例
  • - effect:ender @self ~onTimer:20





EnderBeam(特效:末影激光)
创造一个末影水晶的特效到目标。
属性
基础属性
属性
别名
描述
默认值
durationd特效激活的时间长度60
yoffsety,yo垂直偏移量0
注意
此技能也会在生物处创建一个末影水晶。
示例
创造一个末影激光到目标,时长5秒,并有垂直偏移2格
  •   Enderbeam:
  •   - effect:enderbeam{d=100;y=2;} @target





Equip(装备)
装备生物,使用与装备相同的语法。
属性
属性
别名
描述
默认
itemi物品名称
示例
这个示例会给生物装备钻石剑
  • EquipDiamondSword:
  •   Skills:
  •   - equip{item=diamond_sword:0}



这个示例会给生物装备 KingsCrown
  • EquipCrown:
  •   Skills:
  •   - equip{item=KingsCrown:4}





Explosion(爆炸)
在某个坐标或生物处创建一个爆炸。
属性
属性
别名
描述
默认
yieldy爆炸范围0.013
blockdamagebd爆炸是否破坏方块false
firef,ft爆炸是否引燃方块false
警告: blockdamamge 似乎不受到 WorldGuard 区域的限制,自行承担风险。
示例
  • ExplosiveBlast:
  •   Skills:
  •   - explosion{yield=4} @target





Explosion(特效:爆炸)
生成爆炸特效,有声音和粒子,然而没伤害。
示例
  • - effect:explosion @self ~onDamaged





Firework(特效:烟花)
属性
属性
别名
描述
默认值
typet种类,可为 0 - 40
durationd飞行时间0
flickerf添加闪烁效果false
trailtr添加轨道效果false
colorsc
fadecolorsfc
“type” 属性可为:
  • 0 = 小球状爆炸
  • 1 = 大球状爆炸
  • 2 = 星型爆炸
  • 3 = 苦力怕头型爆炸
  • 4 = 爆裂型
示例
  • Skills:
  • - effect:firework{t=3;d=1;f=true;tr=true} @self ~onInteract





Flames(特效:火焰)
创造一个火焰特效,模仿 Minecraft 的刷怪笼特效。
示例
  • - effect:flames @self ~onTimer:5





Force Pull(强力拉扯)
传送所有的生物到一个随机的位置。
属性
属性
别名
描述
默认值
spreads
在玩家多少格以外
0
vspreadvs垂直范围spread
示例
这个示例将会把生物拉倒Boss周围的随机的5格内
  • ForceGrip:
  •   Skills:
  •   - forcepull{spread=5} @EntitiesInRadius{r=30}





Geyser(特效:喷泉)
添加于版本 2.1
在目标处创造一个流动的喷泉
属性
属性
别名
描述
默认值
typet液体种类,可为“water”或“lava”water
heighth喷泉高度
speeds流动速度10
示例
  • Skills:
  • - effect:geyser{type=LAVA;height=3;speed=10}





Global Cooldown(全局冷却)
“GCD” 或 “Global Cooldown” 技能让你控制生物的全局冷却,用于和“offgcd”搭配使用,覆盖原有冷却设置。
属性
属性
别名
描述
默认值
tickst设置GCD的时长20
示例
技能触发 Global Cooldown 40 ticks,这样使用 offgcd 条件的技能无法使用。
  • IceBolt:
  •     Conditions:
  •     - offgcd
  •     - targetinlineofsight
  •     Skills:
  •     - gcd{ticks=40}





Glow(发光)
使目标发光(使用发光药水效果)
可以指定颜色
需要插件 GLOW API
属性
属性
别名
描述
默认值
colorc发光的颜色white
durationd发光时长100
示例
  •   Skills:
  •   - effect:glow{color=RED;duration=1000}

复制代码
让目标发红光 50 秒


Heal(治疗)
治疗目标特定生命值,可以“过度治疗”
属性
属性
别名
描述
默认值
amounta治疗量1
overhealoh是否添加 MaxHealth 以过度治疗false
示例
  •   Skills:
  •   - heal{amount=20} @self ~onDamaged 0.2



治疗自身 20 生命 (10 心) ,当受到伤害 (20% 几率)
  •   Skills:
  •   - heal{amount=20;overheal=true} @self ~onDamaged 0.2



当受到伤害治疗自身 20生命 (20% 几率)
如果生物接近满血或已经满血,那么将添加至附加的生命值。比如 20 血的生物受到治疗后会变成40血。
17 血的生物会变成 37 血


Heal Percent(治疗百分比量)
添加于版本 2.3
治疗目标部分生命,也可以过度治疗。
属性
属性
别名
描述
默认
multiplierm治疗的百分比,以目标的血量为参考1) 0.1
overheal是否允许添加 MaxHealthfalse
示例
受到攻击时治疗自身 20% 血量
  •   Skills:
  •   - healpercent{m=0.2} @self ~onAttack





Ignite(点燃)
将目标着火。
属性
属性
别名
描述
默认
tickst,d,duration燃烧时间60
示例
  •   Skills:
  •   - ignite{ticks=100} @trigger ~onAttack



攻击的目标着火5秒。


Item Spray(特效:物品喷射)
造成一堆物品的喷溅,玩家不可捡起。
属性
属性
别名
描述
默认值
itemi物品名,可为原版物品或 MythicMobs 物品iron_sword
amounta数量10
durationd物品出现的时间(ticks)20
radiusr半径0
velocityv,force,f物品速度1
yVelocityvvY 轴速度velocity
yOffsetyoY 轴偏移量1
allowpickupap是否可被玩家捡起false
示例
  • FanOfKnives:
  • - effect:itemspray{item=iron_sword;amount=20;velocity=5;d=100;} @self
  • - ...





JSON Message(发送 Json 文本)
Added in 2.3.2
Sends a json-format chat message to the target player(s). JSON-messages are capeable of hover-events, click events and some other perks that are unavailable in the other message mechanics. They also support [color=rgb(86, 176, 79) !important]color codes and [color=rgb(86, 176, 79) !important]message variables.
The format of JSON-messages is a little more advanced than your everyday message. The syntax requires some extra symbols. If you don't know anything about writing JSONs, you can visit this page or this one for help.
Note that double quotes must be replaced with single quotes in JSON-message mechanics.
Please do not post issues relating to this mechanic in the bug-report subforums unless you're certain that your syntax is correct.
属性
Attribute
Aliases
Description
Default
messagemThe json-message to send. Must be surrounded by double-quotes.
示例
You can use both bukkit color codes or json color formatting:
  •   Skills:
  •   - jsonmessage{m="[{'text':'&aHey, i am a JSON message!'}]"} @trigger ~onInteract
  •   - jsonmessage{m="[{'text':'Hey, i am a red JSON message!','color':'red'}]"} @trigger ~onInteract




Here's an example of how to make use of hover-events:
  •   Skills:
  •   - jsonmessage{m="[{'text':'&7With me, you can create hover events','hoverEvent':{'action':'show_text','value':{'text':'&aI am a hover event '}}}]"} @trigger ~onInteract




And click events can be created like this. This is especially useful for the /mm signal command to create interactive quest mobs. This example would send the signal <signal> to the mob casting the json-message mechanic, if the player clicks on the click-event.
  •   Skills:
  •   - jsonmessage{m="[{'text':'&7&nAlso click events! ','clickEvent':{'action':'run_command','value':'/mm signal <mob.uuid> <signal>'}}]"} @trigger ~onInteract




回复 · 2024-2-22 00:11:27