
DungLe'大师
一个强大的RPG扩展模组,包含自定义生物等级、玩家成长系统和动态地牢——所有内容均可高度自定义。
地牢大师模组——完整文档
Minecraft Forge 1.20.1 | 模组ID: dungeonmaster
地牢大师是一个服务端RPG框架,它把原版生存体验改造成了完整的地牢探险RPG。玩家可以升级、分配属性、与强度随等级提升的怪物作战,并获得动态生成的战利品——没有两件物品是完全相同的。
目录
- 核心系统概述
- 玩家等级与属性
- 技能升级菜单
- 怪物等级缩放
- 经验值与击杀奖励
- 增益系统
- 动态战利品系统
- 物品需求与自动卸装
- 地牢奖励 (/dungeon reward)
- 管理员指令(完整参考)
- 玩家指令(完整参考)
- GUI界面参考
- 配置文件
- 安装与需求
1. 核心系统概述
地牢大师添加了以下相互关联的系统:
| 系统 | 描述 |
|---|---|
| 玩家等级 | 玩家通过击杀获得经验值,升级,获得技能点 |
| 属性分配 | 将技能点分配到力量/敏捷/智力 |
| 属性加成 | 每个属性点提供可配置的属性加成(伤害、生命值、速度等) |
| 怪物缩放 | 敌方等级和属性会根据附近玩家缩放 |
| 动态战利品 | 每件奖励物品都是独特生成的,包含等级、稀有度、需求和随机加成 |
| 增益系统 | 管理员定义可分配给玩家的持久增益(属性加成) |
| 地牢奖励 | 地牢通关后,玩家获得经验值、金币和动态生成的物品 |
所有管理员设置(属性加成、增益、战利品配置)仅在执行 /dungeon restart 后生效——更改永远不会在游戏过程中自动生效。
2. 玩家等级与属性
升级机制
- 玩家从 1级 开始,拥有 0 经验值。
- 通过击杀怪物获得经验值(参见 经验值与击杀奖励)。
- 升级所需经验值:
100 + (当前等级 - 1) × 25- 1级 → 2级:100 经验值
- 10级 → 11级:325 经验值
- 50级 → 51级:1325 经验值
- 升级时,玩家获得 1 技能点。
- 等级和经验值在死亡和重连后仍然保留。
属性
每个玩家拥有三个核心属性:
| 属性 | 键值 | 默认值 |
|---|---|---|
| 力量 | strength |
0 |
| 敏捷 | agility |
0 |
| 智力 | intelligence |
0 |
属性通过 升级菜单 消耗技能点来增加。
每个属性点提供可配置的属性加成——由管理员通过 /dungeon stateedit 进行配置。
数据持久化
玩家数据通过 Forge Capabilities(附加到玩家实体上)存储,并序列化为 NBT。此数据会在死亡时(PlayerEvent.Clone)正确复制,并在重生和登录时重新同步。
3. 技能升级菜单
当你在游戏中按下 ESC 键时,升级菜单会自动打开(取代原版暂停菜单)。也可以通过地牢主菜单访问。
显示内容
- 当前等级和经验值条(当前/到下一级所需)
- 可用技能点
- 力量、敏捷、智力的当前值
- 用于在属性上消耗技能点的"+"按钮
说明
- 每次点击"+"消耗 1 技能点,并将相应属性提升 1 点。
- 属性加成(例如,力量 → +攻击伤害)在消耗后立即生效。
- 如果技能点数为 0,"+"按钮会变灰不可用。
4. 怪物等级缩放
等级计算
当敌对怪物生成时,其等级根据附近的玩家计算:
平均等级 = 所有在30格范围内玩家的平均等级
怪物等级 = 平均等级 ± 随机(0..3) (最小值:1)
如果附近没有玩家,怪物在1级生成。
属性缩放
怪物的属性(最大生命值、攻击伤害、护甲等)会根据其等级,使用管理员配置的怪物缩放配置(/dungeon stateedit → 怪物选项卡 或 dungeonmaster_scaling.json)进行缩放。
例如:如果攻击伤害配置为每级增加 +0.5,那么一个20级的怪物在其基础值上会额外获得 +9.5 的攻击伤害。
等级可见性
怪物等级不会永久显示在它们头顶。只有当你本人距离怪物5格范围内时才会显示:
- 在5格范围内:怪物头顶显示
[Lv. 25] 僵尸 - 超出5格范围:名称隐藏(与原版未命名怪物相同)
这是基于每个玩家在客户端渲染的——附近的其他玩家能否看到等级取决于他们自己的距离。
5. 经验值与击杀奖励
当玩家击杀怪物时,他们根据 dungeonmaster_xp.json 中配置的等级差公式获得经验值:
经验值 = 基础经验值 + 等级差加成 × (怪物等级 - 玩家等级)
(截取到最小经验值)
- 击杀远低于自己等级的敌人获得极少经验值(防止刷怪)。
- 击杀等于或高于自己等级的敌人获得全额或额外经验值。
- 获得经验值时,聊天栏显示消息:
+ N 经验值 - 升级时显示:
✦ 新等级!你现在是 N 级。可用技能点:M
经验值公式参数可通过 dungeonmaster_xp.json 配置文件配置(参见 配置文件)。
6. 增益系统
增益是命名的属性加成集合,由管理员创建并分配给玩家。它们独立于属性加成——增益更像是"职业加成"或"装备套装效果"。
创建增益
使用 /dungeon editbuff 打开增益编辑器 GUI:
- 创建一个命名的增益(例如:"战士"、"法师")
- 添加属性条目:从 Forge 注册表中选择一个属性,设置数值,选择 FLAT(加法)或 PERCENT(百分比)
- 保存增益——它将存储在
dungeonmaster_buffs.json中 - 更改在执行
/dungeon restart后生效
分配增益
/dungeon buff <玩家名> <增益名称>
这将把命名的增益分配给玩家。玩家立即获得增益中定义的所有属性修饰符(通过瞬时的 AttributeModifier,在登出或增益变更时移除)。
移除增益
/dungeon removebuff <玩家名>
移除玩家当前的增益。
增益存储
增益分配存储在玩家的 Capability NBT 中,并在死亡/重连后持续存在。
7. 动态战利品系统
地牢奖励系统生成的每件物品都是独特的。两把相同的铁剑可能拥有完全不同的属性。物品在奖励生成的瞬间根据玩家当前等级和属性生成。
物品生成流程
- 基础物品 从配置的物品池中随机选择(剑、斧、弓、头盔等)
- 物品等级 =
玩家等级 ± 物品等级方差(默认方差:±3) - 需求 根据玩家当前属性 ± 方差生成:
- 需求等级 ≈ 物品等级
- 需求力量 = 玩家力量 ± 需求方差
- 需求敏捷 = 玩家敏捷 ± 需求方差
- 需求智力 = 玩家智力 ± 需求方差
- 稀有度 通过加权随机从7个等级中选择(见下方)
- 加成 从物品类别(武器或护甲)的属性池中随机抽取
- 所有数据写入到
ItemStack的 NBT 中,位于DungeonMasterItem标签下
稀有度等级
| 稀有度 | 颜色 | 默认权重 | 加成数量 |
|---|---|---|---|
| 普通 | 灰色 #808080 |
100 | 1 |
| 不凡 | 青绿色 #40E0D0 |
60 | 1~2 |
| 稀有 | 蓝色 #1E90FF |
30 | 2~3 |
| 超级稀有 | 紫色 #8A2BE2 |
15 | 3~4 |
| 史诗 | 粉色 #FF1493 |
7 | 4~5 |
| 神话 | 橙色 #FF8C00 |
3 | 5~6 |
| 传奇 | 金色 #FFD700 |
1 | 6~8 |
所有权重和加成数量均可通过 /dungeon lootedit 完全配置。
物品类别
物品被分类到不同的类别中。每个类别拥有自己的属性池:
- 武器(剑、斧、弓、弩、三叉戟):攻击伤害、攻击速度、幸运
- 护甲(头盔、胸甲、护腿、靴子):最大生命值、护甲值、移动速度、击退抗性
管理员可以通过 /dungeon lootedit 创建额外的自定义类别(例如:饰品、神器、盾牌)并分配它们自己的属性池。
等级缩放
加成数值随物品等级缩放:
最终值 = 基础值 × (1.0 + (物品等级 - 1) × 每级数值)
默认 每级数值 = 0.08(每级增强 8%)。
物品提示显示
当鼠标悬停在生成的物品上时,提示框显示:
[史诗] 物品等级: 22
需求: 等级 12 5力量 3敏捷 1智力
• +4.8 攻击伤害 (FLAT)
• +12% 移动速度 (PERCENT)
• +2.1 攻击速度 (FLAT)
8. 物品需求与自动卸装
每件生成的物品都有 4 个强制需求,它们始终显示:
需求: 等级 12 5力量 2敏捷 1智力
(即使数值为0也会显示——这四项始终出现。)
需求检查
每 10 刻(0.5 秒),服务器会检查每个玩家的所有装备栏(主手、副手、头、胸、腿、脚)。
如果玩家不满足已装备物品的需求:
- 物品会被自动卸下(放回背包,如果背包满了则掉落在地上)
- 玩家收到聊天消息解释原因:
等级不足。需求: 12 当前: 8力量不足。需求: 5 当前: 3敏捷不足。需求: 4 当前: 1智力不足。需求: 3 当前: 0
- 消息仅在原因发生变化时显示——不会因玩家反复尝试装备而导致聊天刷屏。
属性修饰符
当满足需求时,物品的加成作为瞬时的 AttributeModifier 条目应用于玩家。当物品被卸下或需求不满足时,这些加成会自动移除。
9. 地牢奖励 (/dungeon reward)
完成地牢后,管理员执行:
/dungeon reward <玩家名>
这将触发奖励序列:
- 经验值 计算:
基础经验值 + 每玩家等级经验值 × 玩家等级 - 金币 发放:
基础金币 + 每玩家等级金币 × 玩家等级单位的配置金币物品(默认:绿宝石) - 物品 生成:在
最小物品数和最大物品数之间生成独特物品 - 所有奖励放入玩家背包(如果背包满了则掉落在脚下)
- 一个奖励界面打开显示:
- 获得的经验值(如果升级则显示升级指示)
- 金币数量和图标
- 每个生成的物品,附有图标、稀有度颜色和副标题:
稀有度 · 等级 N · 加成数量: M
所有奖励参数均可通过 /dungeon lootedit → 奖励选项卡配置。
10. 管理员指令(完整参考)
所有管理员指令需要权限等级 2(OP)。
/dungeon restart
从磁盘重新加载所有模组配置并重新应用。
在任何更改(通过编辑器 GUI stateedit、editbuff、lootedit 进行)之后使用此指令。
/dungeon restart
输出:[DungeonMaster] 配置已重新加载。怪物缩放、属性加成、增益数据和战利品配置已更新。
/dungeon stateedit
打开属性加成编辑器 GUI(仅管理员)。
/dungeon stateedit
该 GUI 允许你配置:
玩家属性选项卡:
- 每个属性点提升哪个 Minecraft/Forge 属性
- 每点数值(平坦数值或百分比——使用 FLAT/PERCENT 按钮切换)
- 示例:力量 →
minecraft:generic.attack_damage+0.5 FLAT 每点
怪物缩放选项卡:
- 同样的结构,但用于怪物等级缩放
- 示例:
minecraft:generic.max_health+2.0 FLAT 每怪物等级(高于 1 级)
更改保存到 dungeonmaster_scaling.json 和 dungeonmaster_stats.json。使用 /dungeon restart 应用。
/dungeon editbuff
打开增益编辑器 GUI(仅管理员)。
/dungeon editbuff
GUI 中的选项卡:
- 我的增益:所有已定义增益的列表,点击可编辑
- 编辑增益:名称字段,属性条目列表(属性选择器、数值、FLAT/PERCENT 切换)、保存/删除按钮
- 添加增益:创建一个新的命名增益
更改保存到 dungeonmaster_buffs.json。使用 /dungeon restart 应用。
/dungeon buff
将增益分配给玩家。
/dungeon buff <玩家名> <增益名称>
<玩家名>:玩家名称(必须在线)<增益名称>:已定义增益的精确名称(区分大小写)
示例:
/dungeon buff Steve 战士
/dungeon removebuff
从玩家身上移除当前增益。
/dungeon removebuff <玩家名>
/dungeon lootedit
打开战利品与奖励编辑器 GUI(仅管理员)。
/dungeon lootedit
三个选项卡:
稀有度选项卡:
- 对于 7 个稀有度中的每一个:权重、颜色(十六进制 #RRGGBB)、最小加成、最大加成
属性选项卡:
- 使用
</>箭头选择活动物品类别(或+添加新类别,x删除自定义类别) - 编辑类别名称
- 每个类别最多 10 个属性行:属性选择器(点击循环)、最小/最大值范围、模式(FLAT / PERCENT / BOTH)
- "BOTH"意味着在物品生成时模式会随机选择
奖励选项卡:
- 基础经验值、每玩家等级经验值
- 基础金币、每玩家等级金币
- 金币物品 ID(例如
minecraft:emerald) - 每次奖励的最小/最大物品数
- 物品等级方差(±)
- 需求方差(±)
- 每物品等级数值缩放(例如
0.08= 每级增强 8%)
更改保存到 dungeonmaster_loot.json。使用 /dungeon restart 应用。
/dungeon reward
给予玩家完整的地牢通关奖励。
/dungeon reward <玩家名>
触发经验值、金币和物品生成。为玩家打开奖励界面。
11. 玩家指令(完整参考)
玩家(无需 OP)可以访问:
/dungeon (主菜单)
打开主菜单也会在按 ESC 时自动触发。从菜单中可以:
- 查看你的等级和经验值
- 打开升级界面消耗技能点
- 查看你当前的增益(如果有)
各个功能没有直接的聊天指令——一切通过 GUI 驱动。
12. GUI界面参考
| 界面 | 如何打开 | 适用对象 |
|---|---|---|
| 主菜单(地牢大师) | 游戏中按 ESC | 所有人 |
| 升级/属性分配 | 从主菜单 → "升级"按钮 | 所有人 |
| 自定义背包 | 按 E(生存模式) | 所有人 |
| 增益编辑器 | /dungeon editbuff |
管理员 |
| 属性加成编辑器 | /dungeon stateedit |
管理员 |
| 战利品与奖励编辑器 | /dungeon lootedit |
管理员 |
| 奖励界面 | 由 /dungeon reward 触发 |
所有人(自动打开) |
13. 配置文件
所有配置文件存储在 Minecraft 服务器/客户端的 config/ 文件夹中:
| 文件 | 内容 |
|---|---|
dungeonmaster_stats.json |
属性加成条目(力量/敏捷/智力 → 玩家属性映射) |
dungeonmaster_scaling.json |
怪物每级属性缩放 |
dungeonmaster_buffs.json |
所有已定义的增益及其属性条目 |
dungeonmaster_loot.json |
稀有度权重、每个类别的属性池、奖励参数 |
dungeonmaster_xp.json |
经验值公式参数(基础经验值、等级差加成、最小经验值) |
所有文件在首次启动时都会使用合理的默认值创建。可以手动编辑或通过游戏内 GUI 编辑,然后运行 /dungeon restart。
示例:dungeonmaster_loot.json(部分)
{
"rarities": {
"COMMON": { "weight": 100, "color": 8421504, "minBonuses": 1, "maxBonuses": 1 },
"LEGENDARY": { "weight": 1, "color": 16766720, "minBonuses": 6, "maxBonuses": 8 }
},
"categories": [
{
"id": "weapon",
"displayName": "武器",
"attributes": [
{ "attribute": "minecraft:generic.attack_damage", "minValue": 1.0, "maxValue": 8.0, "mode": "FLAT" },
{ "attribute": "minecraft:generic.attack_speed", "minValue": 2.0, "maxValue": 15.0, "mode": "BOTH" }
]
},
{
"id": "armor",
"displayName": "护甲",
"attributes": [
{ "attribute": "minecraft:generic.max_health", "minValue": 2.0, "maxValue": 12.0, "mode": "FLAT" },
{ "attribute": "minecraft:generic.armor", "minValue": 1.0, "maxValue": 6.0, "mode": "FLAT" }
]
}
],
"baseXp": 50,
"xpPerPlayerLevel": 5,
"baseGold": 10,
"goldPerPlayerLevel": 2,
"goldItem": "minecraft:emerald",
"minItems": 1,
"maxItems": 3,
"itemLevelVariance": 3,
"requirementVariance": 5,
"valuePerItemLevel": 0.08
}
14. 安装与需求
需求:
- Minecraft 1.20.1
- Forge 47.4.10 或更高版本
- Java 17+
安装:
- 安装 Minecraft Forge 1.20.1
- 将
dungeonmaster-1.0.0.jar放入mods/文件夹 - 启动服务器/客户端一次以生成默认配置文件
- 通过游戏内 GUI(管理员)进行配置,或直接编辑配置文件
- 运行
/dungeon restart以应用任何更改
服务端 vs. 客户端:
- 模组必须安装在服务端和客户端上(它使用自定义网络数据包和 GUI 界面)
- 所有游戏逻辑(升级、缩放、战利品生成)在服务端运行
- GUI 渲染和名称标签显示在客户端运行
地牢大师——使用 Minecraft Forge 1.20.1 构建 | 包名:com.lemxy.dungeonmaster 你可以在我的Discord服务器上找到指南!
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。