EliteMobs
许可证
EliteMobs 源代码遵循 GPLV3 许可证,本 Wiki 则以 CC0 许可证发布。
欢迎自由转载和修改本 Wiki 中的信息。
版本
本文档面向当前 EliteMobs 10.9.8 源码。
当前源码基于 Spigot 26.3-R0.1-SNAPSHOT API 和 Java 21 构建。
EliteMobs 10 包含当前的武器技能进阶系统、集成 Nightbreak 的内容管理,以及围绕 /em initialize 和 /em setup 的新版设置流程。基岩版玩家(通过 Geyser)可以看到具有自定义模型的 Boss 和 NPC。EliteMobs 还公开了跨插件的 LocationOwnership API,让其他通过 shading 打包 MagmaCore 的插件查询某个位置是否由 EliteMobs 管理或保护,以及它属于哪种内容类型。
如果你有意运行较旧的 EliteMobs 主版本,请将本 Wiki 这一部分视为当前线文档,并根据较旧的分支自行核对旧版行为。
EliteMobs 的用途是什么?
EliteMobs 旨在通过实现各种与 Boss 相关的内容来扩展 Minecraft 的终局玩法。
这包括:
- 动态 Boss(等级化生物)
- 自定义 Boss
- 事件
- 竞技场
- 基于世界的地下城
- 实例化地下城
- 动态地下城
- 开放世界随机地下城(与 BetterStructures 集成)
- 自定义物品(精英物品/战利品)
- 武器技能与技能加成
- 会话队伍、地下城准备确认和团队战利品
- ……以及更多!
本插件并不旨在取代原版 Minecraft 内容,而是对其进行补充,并允许玩家在需要时选择不参与 EliteMobs 内容。EliteMobs 物品通常不会影响 PvP 或原版 Minecraft 战斗,因为它们的伤害和防御加成仅在与 EliteMobs 战斗时生效。
开始上手
当前文档涵盖 [Alpha] Advanced Combat System、职业参考、作者定义的职业战利品和交通路线。更新旧内容时,请查看带命名空间的自定义附魔和自定义物品格式。
刚接触 EliteMobs?这里有两个不同的起点:
- 服主应通过
/em initialize完成安装流程,使用/nightbreaklogin <token>关联 Nightbreak 令牌,然后通过/em setup管理内容 - 在服主完成安装后,玩家使用
/em和/ag
你的战斗等级是你最高的 2 个武器技能与护甲技能的平均值。它决定了在你周围生成的精英怪的难度,因此随着你不断游玩,你的实力会自然增长。装备由精英怪掉落,并随你的等级缩放——20 级及以下的物品没有技能限制,因此新玩家可以自由装备早期找到的任何东西。
使用 /em 打开主玩家菜单。在当前代码线中,它会为玩家打开状态/菜单流程,并且它仍是商店、任务、技能、传送等功能的主要入口。
随着你升级,你将解锁技能加成——与每种武器类型挂钩的特殊战斗能力。它们在技能等级 10、25、50 和 75 级时解锁,每种武器最多可选择 3 个激活的加成。查看技能系统页面以了解技能与升级如何运作的完整细节,并查看技能加成页面以获取完整的能力列表。
EliteMobs 功能概览
在本节中,我们将看一看 EliteMobs 提供的一些主要功能、它们是什么以及你如何关闭它们。完整功能列表请见此页面。
你也可以查看此页面,了解玩家与 EliteMobs 互动的预期方式。
动态 Boss
动态 Boss 是 EliteMobs 的主要功能之一。它会将一定百分比的原版 Minecraft 生成替换为精英怪生成。
精英是更强韧的怪物,旨在挑战玩家,并在被击败后以可能的战利品掉落作为回报。精英的等级由玩家的战斗等级决定,在 EliteMobs 10 中,该等级完全根据武器和护甲技能等级计算(你两个最高武器技能与护甲技能的平均值)。你的战利品越好,它在战斗中就越有用,但你所穿戴的装备不再决定在你周围生成的精英的等级。
精英等级跟随玩家的战斗等级。在应用生命值限制前,Boss 的基础生命值每五级翻倍;玩家技能调整和装备采用各自的公式。请参阅伤害系统。
对于使用默认缩放战斗模式的自然生成精英,请调整 MobCombatSettings.yml 中的 scaledDamageToEliteMultiplier 和 scaledDamageToPlayerMultiplier。标准战斗使用 damageToEliteMobMultiplierV2 和 damageToPlayerMultiplierV2。请选择与当前战斗模式对应的设置。
如果你想彻底关闭此功能,可以通过将 doNaturalEliteMobSpawning 值设为 false 来实现。
视觉示例

精英物品/战利品
EliteMobs 拥有随机生成的物品,这些物品可以在商店中找到,也可以由精英掉落。此外还有自定义物品,它们通常出现在地下城及其他精英内容中。
精英物品就像原版物品一样,只不过它们通常配备了额外的好东西,并且比你在原版 Minecraft 中能找到的任何东西都更强大。某些精英物品上会带有名为**精英锋利(Elite Sharpness)和精英防御(Elite Defense)**的属性,这些属性仅在玩家与精英战斗时生效,不会影响原版怪物。
精英物品也可以拥有附魔、自定义附魔和药水效果。
在 ItemSettings.yml 中设置 doEliteMobsLoot: false 可以禁用常规的生物死亡掉落监听器。这不会禁用所有奖励来源:作者定义的任务、宝箱和竞技场奖励有各自的处理路径。技能仍会获得经验,但移除战斗掉落会改变装备进阶方式。
视觉示例

事件
事件是 EliteMobs 中的独特遭遇,它们可以基于计时器随机触发,也可以由特定的玩家行为触发,例如挖掘方块或砍伐树木。
这些遭遇会出现自定义的、独特的精英,它们带来更大的挑战,并在被击败后提供宝贵的战利品。
当事件发生时,玩家会在聊天中收到通知,并可选择通过可点击的链接追踪精英的生命值和位置。如果精英在一定时间内未被击败,事件就会结束,精英也会消失。
你可以通过打开 events.yml 并将 actionEventsEnabled 和 timedEventsEnabled 值设为 false 来关闭所有事件。
如果你想关闭单个事件,可以前往 ~plugins\EliteMobs\customevents。在那里你会找到每个事件的配置文件,你可以通过打开其配置并将 isEnabled 值设为 false 来关闭任何事件。
视觉示例

冒险者公会
冒险者公会是一个你可以安装的额外中枢世界,同时也是一套玩家可以使用的命令。
如果未安装该中枢世界,玩家就只能使用命令;而在安装了中枢世界的情况下运行命令,会将玩家传送到中枢世界,在那里他们可以与 NPC 互动,而无需输入命令。
什么命令呢?EliteMobs 拥有多个玩家可用的命令,用于出售和购买物品、修理物品、附魔物品等等。在此处了解当前命令的更多内容。
冒险者公会还包括一些专门的 NPC,例如博彩 NPC(21 点、抛硬币、老虎机、猜大小)以及用于购买特殊箭矢的箭矢商店 NPC。
关于冒险者公会及如何安装中枢世界的更多信息,请查看此页面。
视觉示例

武器技能与装备进阶
从 EliteMobs 10 起,武器技能取代了公会段位和转生系统。剑、斧、弓、弩、三叉戟、锄、锤、矛、法杖、魔杖和护甲共十一种技能通过战斗升级。每种技能都在 10、25、50、75 级提供可选加成,每种技能最多选择三个。法杖和魔杖各有十个加成,其魔法武器需要 FreeMinecraftModels。
启用装备限制时,20 级以上的精英装备要求对应的技能等级,而非公会段位。20 级及以下的物品不受此限制。
技能限制决定玩家可以使用哪些装备。灵魂绑定则单独控制物品归属和交易。
视觉示例

竞技场
竞技场是基于波次的挑战,玩家可以在其中进行战斗。一名或多名玩家可以加入竞技场,面对一波波难度递增的敌人,并随着挑战的推进获得越来越好的奖励。
安装冒险者公会中枢世界后,玩家便可使用木牌竞技场(Wood League Arena),这是一个免费的竞技场,可通过与中枢世界中的某个 NPC 互动或通过 /em 菜单进入。
你可以前往 Itch.io 或在 Patreon 上订阅来获得更多竞技场。
你可以前往 ~plugins\EliteMobs\customarenas,然后打开竞技场配置(例如 wood_league.yml),找到 isEnabled 值并将其设为 false 来关闭竞技场。
视觉示例

世界地下城
世界地下城是你可以为 EliteMobs 下载的额外自定义内容。地下城通常拥有自定义的精英 Boss、自定义世界、自定义战利品以及自定义的 Boss 能力。
所有世界地下城都是位于各自世界中的地下城,这意味着当玩家进入它们时,会被传送到一个除了那个地下城之外别无他物的世界。
世界地下城有几种类型,要了解更多类型信息请点击此处。
固定等级的世界地下城有推荐等级范围。动态地下城也使用世界,但会创建私人副本,并将内容调整到所选等级。
你可以前往 Itch.io 或在 Patreon 上订阅来获得地下城。还有几个免费地下城你可以从此处下载。
你可以前往 ~plugins\EliteMobs\content_packages,打开你想关闭的地下城的配置文件,并将 isEnabled 值设为 false 来关闭单个地下城。
视觉示例

实例化地下城
实例化地下城在几个方面与世界地下城不同。它们是实例化的,意味着会从一份蓝图动态创建出一个新世界,为玩家及其朋友提供类似 MMO 中的私人地下城体验。
实例化地下城可以按难度定义生命值、能力、战利品和可用生命次数。护甲仇恨附魔支持坦克与输出职责;可选的高级战斗职业另有各自的能力。具体奖励与机制取决于内容包。请参阅难度说明。
此外,玩家可以在实例化地下城内互相复活,只要行动够快,就能迅速重返战斗。
你可以前往 Itch.io 或在 Patreon 上订阅来获得实例化地下城。还有免费的实例化地下城你可以从此处下载。
你可以前往 ~plugins\EliteMobs\content_packages,打开你想关闭的地下城的配置文件,并将 isEnabled 值设为 false 来关闭单个地下城。
视觉示例

动态地下城
动态地下城是 EliteMobs 9.6.0 中引入的一种新地下城类型。与具有固定难度等级的世界地下城或实例化地下城不同,动态地下城允许玩家在进入前自行选择难度等级。
玩家先选择内容等级,再选择难度。等级菜单基于当前战斗技能等级,在 5–200 的范围内提供相邻的五级递增选项。装备和公会段位不决定这些选项。地下城生物按所选内容等级缩放;难度则单独控制等级同步以及作者定义的能力和战利品筛选规则。
此系统为处于不同进度阶段的玩家提供了灵活性,让他们能够以合适的挑战等级体验相同的内容。无论你想要的是休闲的通关还是硬核的挑战,动态地下城都会适应你的偏好。
你可以前往 Itch.io 或在 Patreon 上订阅来获得动态地下城。
你可以前往 ~plugins\EliteMobs\content_packages,打开你想关闭的地下城的配置文件,并将 isEnabled 值设为 false 来关闭单个地下城。
视觉示例

冒险(Adventures)
冒险是 EliteMobs 可用的最为宏大的额外内容,拥有一个广阔的世界,配有引人入胜的故事情节以及供玩家踏上征程的大量任务。
冒险拥有数百个自定义 Boss、能力和物品,提供了沉浸式的游戏体验。冒险中的任务运作方式类似于传统 MMO 中的任务,要求玩家完成诸如击败怪物、寻找物品、与 NPC 互动等目标,或它们的任意组合。
冒险规模之大,甚至在其内部还设有其他子地下城或子竞技场。
虽然冒险通常会为玩家推荐一个设定的等级范围,但建议玩家从等级区间的较低端开始他们的冒险,以获得最佳乐趣。
你可以前往 Itch.io 或在 Patreon 上订阅来获得冒险。
你可以前往 ~plugins\EliteMobs\content_packages,打开你想关闭的冒险的配置文件,并将 isEnabled 值设为 false 来关闭单个冒险。冒险可能附带额外的子地下城和子竞技场,所以如果你要关闭某个冒险,请确保也一并关闭那些内容。
视觉示例

虫洞传送
EliteMobs 还拥有简单的从 A 点到 B 点的传送器,称为虫洞。你会看到它们主要用在冒险者公会中枢世界中,作为将玩家从那里传送到地下城或传送回服务器出生点的一种方式。
内置样式是用方块展示实体和粒子绘制的立方体、水晶或二十面体。在 Wormholes.yml 中设置 noParticlesMode: true 可关闭这些形状和粒子。虫洞也可以使用 FreeMinecraftModels 的装饰模型。
你可以制作自己的虫洞并随心所欲地使用它们。点击此处了解如何操作。
视觉示例

自定义内容
EliteMobs 还为你提供了创建自己内容的机会,包括 Boss、地下城、能力、NPC、任务、竞技场 等等!除了上面列出的类型之外,你还可以在 Wiki 的侧边栏菜单中找到创建其他类型内容的指南。
为了获得最简单、最高效的内容创建体验,我们推荐使用 WebApp。该工具能让你生成开箱即用的配置文件,而无需为确保正确性而大量翻阅 Wiki,尤其是当你考虑创建 EliteScript Boss 能力时。在此处访问 WebApp。
EliteMobs 集成 FreeMinecraftModels,用于自定义 Boss 3D 模型。当前源码基于 FreeMinecraftModels 2.12.2 构建;这是构建依赖,并不能证明它与所有服务器或后续插件版本均兼容。
致管理员与服主
本插件专为生存类及类生存服务器而设计(例如空岛、空岛战争以及深度模组化的生存变体)。
本插件的设计宗旨是只需将插件 jar 文件拖放到服务器中即可轻松使用。默认设置是我在自己服务器上使用的设置,并可能随时间推移而变化。
不过! 在 EliteMobs 的整个开发过程中,可自定义性一直是首要优先事项。插件几乎每一个方面都可以被翻译、自定义、关闭或修改。
致其他开发者
尽管本项目采用 GPLV3 许可证且具有开源性质,但目前我既不寻求也不会接受任何代码新增或修改。我欢迎对该插件进行分叉(fork),并会非常乐于看到你们会用它们做出什么;然而,这是我的第一个大型编程项目,因此也是一次学习经历。
不过! 不要把这理解为我自认凌驾于一切批评之上、或者我不会倾听反馈——恰恰相反,我很喜欢人们指出更好的方式来完成我在插件中所做的事情。我希望这个项目是我从头到尾亲手编写的成果,其中不含任何我未曾知晓或不理解的代码片段。