社区5群:923563248 进群吹水聊天!众多整合包作者、插件作者、玩家在内哦!不定时发福利,公布重要通知!
...
高级生物等级(Advanced Mob Leveling)
Advanced Mob Leveling 是 Daripher 的 Auto Leveling 模组在 Minecraft Forge 1.20.1 上的非官方衍生与延续版本。 它增加了基于公式的精确属性缩放、KubeJS 等级控制、LootJS 兼容性以及重新设计的配置系统。
仅客户端生物冒险
资源外链
CurseForgeCurseForge1 天前

Advanced Mob Leveling

Advanced Mob Leveling是 Daripher 制作的 Auto Leveling 模组的一个非官方衍生版和延续版本,适用于 Minecraft Forge 1.20.1。它增加了基于公式的精确属性缩放、KubeJS 等级控制、LootJS 兼容性以及重新设计的配置系统。

该模组保留了 autoleveling 的模组 ID,因此现有世界和数据包仍可兼容。本项目与原作者无关,亦未获得原作者认可。

功能特性

  • 基于距离、深度、时间、维度及实体设置的生物等级
  • 数值型与表达式型的属性缩放
  • 线性、指数、条件及分段增长曲线
  • 通过 KubeJS 控制每个维度的等级加成
  • 兼容 LootJS 的额外等级生物战利品
  • 实体黑名单、白名单、命名空间通配符及隐藏等级列表
  • 属性及实体列表的 JSON 格式美化输出
  • 兼容原 Auto Leveling 的现有世界和数据包

配置文件

高级等级系统 1.0.1 使用三个配置文件:

  • config/advancedleveling-common.toml:通用服务器及等级设置
  • config/advancedleveling-client.toml:客户端显示设置
  • config/advancedleveling.json:属性及实体列表

旧的 autoleveling-common.tomlautoleveling-client.toml 文件不会被读取或迁移。请手动将您仍需要的设置移至新文件。

advancedleveling.json 示例:

{
  "attributes": {
    "minecraft:generic.movement_speed": 0.001,
    "minecraft:generic.flying_speed": 0.001,
    "minecraft:generic.attack_damage": "level <= 10 ? base + (level - 1) * 2 : base + 18 + (level - 10) * 5",
    "minecraft:generic.armor": 0.1,
    "minecraft:generic.max_health": "base * (1.05 ^ (level - 1))",
    "autoleveling:monster.projectile_damage_bonus": 0.1,
    "autoleveling:monster.explosion_damage_bonus": 0.1
  },
  "mobs": {
    "blacklist": [
      "minecraft:ender_dragon",
      "minecraft:wither"
    ],
    "whitelist": [],
    "hidden_levels": []
  }
}

实体列表接受精确 ID(如 minecraft:zombie)以及命名空间通配符(如 minecraft:*)。当白名单不为空时,仅匹配的实体可以升级。黑名单优先级高于白名单。更改会在重启或执行 /reload 后加载。

属性表达式

数值型值保持原有行为,为高于 1 级的每一级应用 MULTIPLY_BASE 加成:

"minecraft:generic.max_health": 0.05

带引号的表达式返回最终的目标属性值:

"minecraft:generic.max_health": "base + (level - 1) * 10"

可用变量:

  • base:实体原始的属性基础值
  • level:显示的生物等级,从 1 开始

指数增长使用 ^

"minecraft:generic.max_health": "base * (1.05 ^ (level - 1))"

条件表达式可创建分段增长曲线:

"minecraft:generic.attack_damage": "level <= 10 ? base + (level - 1) * 2 : base + 18 + (level - 10) * 5"

数据包中的 attribute_modifiers 也支持表达式:

{
  "attribute": "minecraft:generic.max_health",
  "expression": "base + (level - 1) * 10"
}

KubeJS 集成

每个维度保存的等级加成可通过 KubeJS 服务端脚本替换或增加:

const ServerLifecycleHooks = Java.loadClass(
    'net.minecraftforge.server.ServerLifecycleHooks'
)
const WorldLevelingData = Java.loadClass(
    'daripher.autoleveling.saveddata.WorldLevelingData'
)

let server = ServerLifecycleHooks.getCurrentServer()
let level = server.getLevel(dimension)

if (level != null) {
    let levelingData = WorldLevelingData.get(level)
    levelingData.setLevelBonus(25)
    levelingData.addLevelBonus(5)
}

setLevelBonus(value) 替换维度的保存加成,addLevelBonus(value) 在当前加成上累加。两种方法都会自动标记数据为待保存状态。

LootJS 兼容性

通过 LootJS 实体修改器添加的战利品,不会再导致高级等级系统的可选额外战利品表执行多次。LootJS 的添加与 autoleveling:gameplay/leveled_mobs 战利品表可同时使用,而不会产生意外的重复掉落。

需求与兼容性

  • Minecraft 1.20.1
  • Minecraft Forge 47 或更新版本
  • Java 17
  • KubeJS 和 LootJS 为可选依赖
  • YiRanExpressionLib 已内嵌,无需单独安装

署名与许可

高级等级系统是 Auto Leveling(作者 Daripher)的非官方衍生版。原始部分仍归 Daripher 及原始贡献者所有。本分支不代表原作者认可。

发布的 jar 文件内嵌了 YiRanExpressionLib,该库同样以 GNU AGPLv3 许可发布。

资源打赏
参与人数打赏物品(0)

暂未收到任何礼物
快来成为第一个打赏人吧~
资源信息
资源版本
1.20.1
核心/平台
logoForge
打赏
加载中...
创作者
avatar frame...
from火星这个人很懒,没有留下任何介绍...
其他信息
语言信息中文
更新于1 天前
发布时间2 天前
资源来源
资源许可证/License
高级生物等级 | XyeBBS - 我的世界中文论坛