跳到主要内容

🌟 理解模块化规则系统

LevelledMobs的rules.yml文件允许你创建一个真正模块化的自定义规则,这些规则可以修改或扩展应用于所有怪物的默认规则

规则文件分为三个主要部分:预设默认规则自定义规则

主要功能来自于_建立默认规则,该规则为LevelledMobs应用基础级别的信息,从一开始就将其范围限制在特定的世界或实体,或者为怪物建立基础级别的更改。
例如,默认情况下可能只允许所有敌对怪物成为有等级的怪物,并且仅限于主世界。

然后通过_以自定义规则的形式添加默认规则的例外
,你可以创建一组条件检查,这些检查可以应用于默认规则的更改。
例如,可以创建一个自定义规则来检查末影龙,然后为其提供一组独特的属性修改器,与其他怪物从默认规则中获得的属性不同;同时,你还可以配置它,使龙在被击败时掉落特殊的战利品表以奖励击杀者。

最后,我们创建了预设部分,以便任何经常引用的条件或设置可以快速添加到默认规则自定义规则中,以帮助减少文件的大小,尽管你不需要引用或包含预设部分,只要你手动编写了所需的条件和设置,以便按照你希望的方式设置服务器。

什么是默认规则?

正如我们在前几段中所说,默认规则是你告诉LevelledMobs你希望插件运行的核心限制的方式,以及你希望如何处理大多数怪物。

在默认配置中,我们广泛撒网,并张开双臂尝试为我们能识别的每个实体进行等级提升。我们检查每个实体,在每个世界中,来自任何支持的插件,无论它们是否有名称标签或是宠物。如果我们能识别它,我们将首先根据默认规则尝试对其进行等级提升。但你不需要为你的服务器遵循这种方法。

你可以使LevelledMobs默认情况下在每个世界中对每个怪物完全禁用。这意味着对于任何你想提升等级的实体,你需要通过自定义规则部分指定该实体的所有必要信息。

你也可以将LevelledMobs限制在特定的世界集合中,或者特定的怪物或怪物组。这样我们就不会干扰你的大厅或挖矿世界。这完全取决于你;当然,默认设置本身已经在插件开发的四年中进行了游戏测试和调整。

如何设置怪物的等级?

在LevelledMobs4中,你通过构建construct-level设置来设置等级。该设置由各种可能的输入填充,通常包括各种策略修改器或其他各种内部或外部占位符。

例如,如果你想使用距离原点的等级策略来生成一个等级值,但然后你想添加一个-3到3之间的随机变化,但还希望等级基于像AuraSkills这样的第三方插件的输出而增加,你会怎么做?

你将使用你喜欢的设置来设置距离原点策略。你还将使用你喜欢的AuraSkills占位符来配置玩家变量修改器。最后,你需要设置construct-level以包含这些选项。
construct-level: '%distance-from-origin% + %player-variable-mod% + %rand_-3_3%'

怪物的等级首先在位于default-rule下的construct-level设置中分配,如果之前建立的分配方法不符合你的期望,则需要对construct-level进行更新分配。一个实际的例子是每个默认rules.yml文件中包含的前两个默认自定义规则。这两个自定义规则修改了在下界和末地中使用的等级策略,然后建立了它们自己的construct-level来调整分配方法。

默认配置具体做了什么?