10 分钟上手随机地牢
这一页分两段:先玩一次插件自带的范例「深渊回廊」,看看随机地牢长什么样;再从零建立一个自己的随机地牢。
随机地牢的房间都在背景线程贴上,必须装 FastAsyncWorldEdit。只有 WorldEdit 时,就算主配置 paste.allow-main-thread: true 也不能开始随机地牢;一般副本默认同样会拒绝,要改成 true 才会在主线程硬贴。
1. 试玩范例「深渊回廊」
全新安装的服务器,plugins/CloudDungeon/dungeons/abyss/ 已经放好了。原本就在用云副本的服务器输入:
/cd admin rogue example
dungeons/abyss 已经存在时不会覆盖。装好后:
/cd admin test abyss
test 是用测试模式开一场:不检查人数和条件、不收门票、不算次数、不发奖励、不算记录。你在队伍里时整队会一起进场,不在队伍里就是一个人。想用正式流程就 /cd join abyss。
范例里有两个难度模式:normal「挑战 3 层」和 endless「无限深渊」(打到团灭,每 5 层出现撤退之门)。测试无限层:
/cd admin test abyss endless
范例的 11 间房间:
| 房间 | 种类 | 出现楼层 | 内容 |
|---|---|---|---|
start | 起点 | — | 引路人 NPC 与提示全息字 |
combat_hall | 战斗 | 全部 | 两波:wave1 打完叫出 wave2 |
combat_bridge | 战斗 | 全部 | 断崖石桥,平台上的弓手 + 桥尾守卫同时出 |
combat_crypt | 战斗 | 第 2 层以后 | 腐朽墓穴 |
elite_knight | 精英 | 全部 | 堕落骑士(标记 boss,王条显示血量) |
boss_warden | 首领 | 全部 | 深渊守门人,半血时叫出援军 |
boss_lich | 首领 | 第 3 层以后 | 巫妖王(血量 ×3),第 3 层固定是它 |
treasure | 宝藏 | 全部 | 右键宝箱领魂晶,再选一张祝福(选项里至少一张稀有以上) |
shop | 商店 | 全部 | 右键深渊商人买东西 |
rest | 休息处 | 全部 | 右键营火:回复 / 淬炼 / 净化 |
altar | 事件 | 全部 | 染血祭坛:以血换力,或花 25 魂晶赌一张史诗祝福 |
范例只用原版怪物。装了 MythicMobs 想换成自己的怪,要一起改这几个地方:
rooms/*/monster.yml里的minecraft:xxx换成 MythicMobs 的怪物 ID;- 根目录
monster.yml的adds(minecraft:vex); boss_warden、boss_lich的trigger.yml里mob-health触发的mob: minecraft:ravager/mob: minecraft:evoker,不改的话「半血叫援军」不会再触发。
另外在默认的 scaling.mythic: level 下,boss_lich 的「血量 ×3」(room.yml 的 scaling)不会套到 MythicMobs 的怪上,见 怪物成长。
2. 建立自己的随机地牢
/cd admin create crypt &5亡者地窖 --roguelike
--roguelike 写在哪里都可以。会建立 plugins/CloudDungeon/dungeons/crypt/:
- 根目录的设置文件:
config.yml、floors.yml、cards.yml、shop.yml、end.yml、start.yml、script.yml、trigger.yml,每个都有注释; - 已经盖好地图的 5 间房:
start(起点)、shop(商店)、treasure(宝藏)、rest(休息处)、altar(事件),可以直接用,也可以改; - 要你自己盖的 4 间房:
combat_1、combat_2(战斗)、elite_1(精英)、boss_1(首领),设置和怪物组都写好了,只差地图。
建立完会直接把你送进 combat_1 的编辑模式。
范本的第 1 层没有精英房,所以盖好 combat_1 和 boss_1 就能开始。还没盖的房间不会出现在门后面,之后再慢慢补。
3. 盖第一间战斗房
编辑模式和一般副本完全一样(9 个工具,见 编辑模式)。每间房各盖各的,不用互相连通、不用盖走廊:走进门时,全队会被传送到下一间房的入口(床的位置)。
一间房间至少要有:
| 要做的事 | 工具 | 怎么点 |
|---|---|---|
| 入口 | 2 床 | 右键地板,朝向 = 玩家传送进来时面对的方向 |
| 出口(门出现的地方) | 3 指南针 | 右键地板 → 输入 exit(聊天栏有快速选项可以点) |
| 出怪点 | 1 铁锹 | 右键地板 → 输入 第一波(范本的怪物组名称),可以点好几个地方 |
盖好后:
/cd admin save
只放一个 exit,两三扇门会以它为中心往左右排开(每扇间隔 3 格)。想精确摆每扇门,就另外放 exit1、exit2、exit3:这一次出现几扇门,就要有几个 exitN,不够的话会改回以 exit 为中心排开。完全没有出口点时,门会出现在入口前方 3 格。
范本的 config.yml 有 hidden: false。房间还没盖好时可以先改成 hidden: true,只有管理员看得到这个副本,等房间都盖好再改回来。
房间别盖太大:所有房间都排在同一格副本里,一间房的长宽有上限(范本的 environment.border: 16 下最大 424×424),详见 房间大小。
4. 改怪物
打开 dungeons/crypt/rooms/combat_1/monster.yml,范本里只有一组 第一波(3 只僵尸):
第一波:
name: "&c第一波"
auto-start: true # 进房间(enter-delay 之后)自动出怪
objective: "&f击败怪物 &e{killed}/{total}"
mobs:
- "minecraft:zombie 3"
改成两波,例如:
第一波:
name: "&c第一波"
auto-start: true
objective: "&f击败怪物 &e{killed}/{total}"
mobs:
- "minecraft:zombie 4"
- "minecraft:skeleton 2"
end:
- "monstergroup start 第二波" # 打完接下一波
第二波:
name: "&c第二波"
mobs:
- "minecraft:husk 3"
怪物组默认从和组名同名的出怪点出怪。新增的 第二波 也要用铁锹点出名为 第二波 的出怪点;或者写成 "minecraft:husk 3 at=第一波",和第一波共用位置。没有出怪点的话这一组不会出怪,validate 会列出「没有出怪点」。
这间房的怪物组全部打完,房间就清除,门出现在出口。写法和一般副本的 怪物组 一样。
5. 盖其他房间
/cd admin edit crypt
随机地牢的 edit 会打开房间清单:每间房一个图标,显示地图存了没、出现楼层与权重、有几个问题。点一下就进去编辑那一间;也可以直接 /cd admin edit crypt:boss_1。
每间房都要和 combat_1 一样:用床放入口、用指南针放 exit 出口,再用铁锹点出和怪物组同名的出怪点,然后 /cd admin save:
| 房间 | 怪物组(出怪点名称) | 内容 |
|---|---|---|
combat_2 | 第一波 | 和 combat_1 一样 |
elite_1 | 精英 | 凋零骷髅,标记 boss |
boss_1 | 首领 | 劫掠兽,标记 boss;另外有一个半血时触发的范例触发 |
少了出怪点的话那间房不会出怪,validate 会列出「没有出怪点」。
编辑房间时,菜单最下面一排可以回到房间清单、切换上一个 / 下一个房间、新增房间。见 编辑房间。
6. 检查、预览、测试
/cd admin reload
/cd admin validate crypt
/cd admin rogue rooms crypt
/cd admin rogue preview crypt
/cd admin test crypt
| 指令 | 作用 |
|---|---|
validate | 列出每间房的问题:地图还没存、没有入口 / 出口、怪物组不会开始、点位找不到…… |
rogue rooms | 每间房一行:能不能用、种类、权重、楼层、大小;最后列出还不能开始的原因 |
rogue preview | 随机一个种子,列出前 3 层每一步会出现哪些门(每一步都选第 1 扇) |
test | 用测试模式打一整场(在队伍里会整队一起测试) |
只想测某一间:
/cd admin test crypt room=boss_1 single
起点房的门直接通往 boss_1,打完就结算。room= 也可以写种类(例如 room=shop);不加 single 就是第一间固定,之后照常往下打。
编辑模式里,房间菜单的「存档并测试」也是这个效果(保存地图、离开编辑、测试这一间;在队伍里会整队一起进场)。
接下来
- 每层走几间、门后面出现什么:楼层规则 floors.yml
- 房间的所有设置:房间 room.yml
- 设计自己的祝福:祝福卡 cards.yml
- 商品与价格:商店 shop.yml
- 计分板、王条、排行榜:计分板与变量