搜索

地牢创建与编辑

创建参数、出生点、构建器、物品、钥匙、保存、重载与编辑验收。

先选择地牢类型

类型 别名 适用场景
classic default 一张完整固定地图,每个实例复制整张模板
procedural generated、room 先制作房间,再按布局规则拼接
continuous ongoing 长时间开放、持续容纳玩家的副本

第一次制作建议选择 classic,把出生、触发、完成和回收闭环跑通后再做程序化地牢。

创建参数

/lidungeon create <名称> [类型] [生成器] [维度]

示例:

/lidungeon create castle classic lidungeon:void NORMAL
/lidungeon create cave classic AMPLIFIED NORMAL
/lidungeon create maze procedural lidungeon:void NORMAL
  • 未写类型时使用默认类型。
  • 生成器可写 Bukkit WorldType,也可写生成器名。
  • LiDungeon 内置 lidungeon:void 和 lidungeon:block.<BLOCKTYPE>。
  • 旧地图中的 mythicdungeons:、md: 生成器前缀会自动兼容转换。
  • 维度只能使用 NORMAL、NETHER、THE_END。

Folia 会在构造 WorldCreator 前拒绝 create 并显示中文说明,不会再抛出世界创建异常。在 Folia 上可把一个没有被服务器加载的世界目录放到服务器根目录,然后执行:

/lidungeon import ender_arena THE_END

导入源必须含 level.dat 与对应地图数据,目标 plugins/LiDungeon/maps/ender_arena/ 必须不存在。插件从 level.dat 读取大厅出生点;若读取失败会使用 0,64,0 并提醒管理员进入编辑模式重新执行 setlobby。

地牢 ID 会成为地图目录名和配置命名空间。上线后不要随意改目录名;若必须改名,应停服、备份并同时检查前置地牢、权限、命令菜单和外部脚本引用。

编辑会话标准流程

/lidungeon edit castle
/lidungeon setlobby
/lidungeon setspawn
/lidungeon functiontool
/lidungeon save
/lidungeon leave

编辑开始前,玩家不能已经在其他地牢或编辑实例中。编辑权限会同时检查通用权限和 dungeons.edit.<地牢ID>。

出生点与出口

  • setlobby:写入模板坐标。只有 General.Lobby.Enabled: true 时玩家才会先停留在大厅。
  • setspawn:正式开始位置。
  • setexit <地牢>:使用执行命令时玩家所在的现实世界位置,可在地牢外设置。
  • AlwaysUseExit: false:通常只有完成副本才使用出口;设为 true 后其他离开方式也使用出口。

务必同时测试玩家朝向、碰撞空间和下方方块,避免玩家进入后卡墙或坠落。

功能构建器

执行 /lidungeon functiontool 获得配置项 General.FunctionBuilderItem 指定的工具,默认是 FEATHER。编辑器通过 GUI 选择功能、触发器、条件和目标类型。

建议给每个关键流程做单一职责节点:

  • 起点:地牢开始触发器 + 标题/消息;
  • 战斗区:生物生成器 + 生物死亡计数器;
  • 门:死亡计数器 -> 门控制器;
  • 检查点:玩家检测器 -> 重生检查点;
  • 终点:玩家检测器或交互 -> 完成地牢。

不要把全部逻辑堆在一个多功能组合里。拆分后更容易定位是“触发未发生”“条件未通过”还是“功能执行失败”。

地牢物品与禁用物品

  • dungeonitem:物品会带 LiDungeon 持久标签,用于限制带出、丢弃等规则。
  • banitem / unbanitem:按完整手持物序列化到 Rules.CustomBannedItems,比只填 Bukkit 材质更精确。
  • addkey / removekey:管理 AccessKeys.KeyItems。

操作前确认主手不是空气,并在测试账号上验证堆叠数量、CustomModelData、插件自定义物品标签和消耗行为。

保存语义

/lidungeon save 会保存当前编辑实例。程序化地牢的 save force 会把所有房间标为已修改并重新保存。

推荐保存节奏:

  1. 完成地形阶段后保存一次。
  2. 每完成一组触发链保存一次。
  3. 测试前保存。
  4. 退出编辑前再次保存并等待成功消息。

全局 AutoSaveInterval 默认 300 秒,但自动保存不能替代人工里程碑备份。

删除与重载

/lidungeon delete <地牢> 需要再次执行确认,属于不可逆的高风险操作。删除前备份 maps/<地牢>/、相关玩家数据和外部菜单配置。

地牢正在运行时执行 reload <地牢> 或 reload all 会警告;在游戏内再次执行相同命令才确认。重载会影响活动实例,生产服应先清空玩家。

编辑完成的最低标准

  • 有正式出生点和安全出口;
  • 若启用大厅,有“开始地牢”功能;
  • 至少有一条可到达的“完成地牢”路径;
  • 玩家死亡后有检查点或明确的失败退出策略;
  • 最后一名玩家离开后实例能回收;
  • save 成功且重启后再次 edit 内容仍存在;
  • 普通权限账号能够完整游玩,不能使用编辑和绕过权限。