🏰
独立副本实例
每次挑战自动复制地图模板创建隔离实例世界,结束后自动清理所有临时世界和怪物,杜绝污染。
SoulDungeon 是一个面向 Minecraft Bukkit/Paper 服务端的现代化副本 / 地牢系统插件。它通过清晰的 YAML 配置和直观的脚本 DSL,让服主能够在不编写代码的情况下创建丰富的副本体验。
| 特性 | SoulDungeon | 传统方案 |
|---|---|---|
| 配置方式 | 统一 $action{key=value} 脚本 | 分散的 YAML/JSON 嵌套 |
| 地图隔离 | 自动实例复制 + 实例池预热 | 手动管理世界目录 |
| 怪物对接 | 原版 + MythicMobs 无感切换 | 需要适配层 |
| 错误检测 | 配置诊断 + 行号定位 | 启动崩溃无提示 |
| 调试工具 | 实时运行状态查看 | 依赖日志分析 |
| 框架基础 | TabooLib 6.3.x | 原生 Bukkit API |
| 项目 | 说明 |
|---|---|
| 核心语言 | Kotlin |
| 构建工具 | Gradle |
| 框架 | TabooLib 6.3.x |
| 平台 | Bukkit / Paper 1.21.x |
| Java 版本 | Java 21 |
| 可选依赖 | MythicMobs、PlaceholderAPI、Vault |
新手入门
建议从 快速开始 开始,了解如何构建、安装和运行你的第一个副本。
当前版本
本插件目前处于 v0.2.0 早期开发阶段,部分功能仍在开发中。查看 路线图 了解完整规划。
一个完整的 Boss 战副本怪物配置示例:
groups:
wave_1:
auto-start: true
spawn:
- "$mob{type=VANILLA;name=ZOMBIE;point=0,80,0;amount=3;radius=2}"
- "$mob{type=VANILLA;name=SKELETON;point=2,80,0;amount=2;radius=2}"
condition:
- "$kill-any{mobname=ZOMBIE,SKELETON;amount=5}"
start-script:
- "$message{text=&e第一波怪物出现了!}"
end-script:
- "$message{text=&a小怪已清理,Boss 即将出现...}"
- "$delay{time=100;script=start_boss}"
boss:
auto-start: false
spawn:
- "$mob{type=MYTHIC;name=CaveBoss;point=5,80,0;amount=1;level=5}"
condition:
- "$kill{mob=CaveBoss;amount=1}"
end-script:
- "$title{title=&a副本通关!;subtitle=&7奖励已发放;stay=60}"
- "$sound{name=UI_TOAST_CHALLENGE_COMPLETE;volume=1}"
- "$command{sender=console;command=say <player> 完成了副本}"
- "$end{type=COMPLETE;delay=60}"
scripts:
start_boss:
- "$move{x=0;y=80;z=0}"
- "$title{title=&cBoss 出现!;subtitle=&7准备战斗;stay=60}"
- "$sound{name=ENTITY_WITHER_SPAWN;volume=1}"
- "$heal{health=true;food=true}"
- "$effect{name=SPEED;duration=200;amplifier=0}"
- "$monstergroup{group=boss;operation=start}"