面向 Mirai Console 的回合制副本小游戏插件,支持组队、选择副本、战斗与掉落。此文档帮助快速了解项目结构与本地运行方式,详细开发指南见 docs/ 目录。
- 群内创建队伍(3 人、职业类型不可重复),选择副本难度后自动开战。
- 回合制战斗:玩家/ Boss 按顺序行动,支持技能、效果(buff/debuff)、装备属性。
- 副本掉落:权重随机或必掉;支持装备、金币、经验等类型。
src/main/kotlin/cn/chahuyun/omr/核心代码OneMoreRun.kt插件入口plugin/数据加载、数据库初始化auth/权限注册event/群指令与流程控制game/战斗流程、实体、掉落dungeon/副本定义与注册equipment/装备系统skills/技能系统effect/效果系统entity/data/持久化实体(玩家、装备/技能栏)
docs/文档开发文档.md:整体架构与流程副本/装备/技能/效果开发指南.md:面向新手的扩展说明githubworkflow/GitHubActions指南.md:自动化流水线说明
- JDK 17+
- Gradle(项目已附带 Wrapper:
gradlew/gradlew.bat) - 数据库:当前强制使用 MySQL(在
DataConfig中配置) - Mirai Console(用于实际运行插件)
Windows:
gradlew.bat clean build
macOS / Linux:
./gradlew clean build
成功后产物位于 build/ 目录。
编辑生成的 config/data-config.yml(或默认路径):
type:设置为MYSQLurl:如localhost:3306/one_more_runuser/password:数据库账号 当前如未配置为 MySQL,DataManager会关闭 Mirai 进程。
- 启动 Mirai Console,加载插件 JAR。
- 在群内发送 “创建队伍/开队/来一把” 创建队伍。
- 其他两人发送 “加入/进组/来/join” 加入(职业类型不得重复)。
- 队长按提示发送 “副本名称 副本等级”(如 “新手村 1”),战斗开始。
- 副本:新增
Dungeon子类并注册到DungeonFactory(参考StartingZone)。详见副本开发指南。 - 装备:继承
Equipment,使用序列化注解并在 Registrar 中注册。详见装备开发指南。 - 技能:继承
Skills,实现效果/伤害配置后注册到SkillsFactory。详见技能开发指南。 - 效果:继承
Effect,设定触发时机并注册到EffectFactory。详见效果开发指南。 - 自动化:本项目支持 API 文档与版本自动发布。详见
GitHub Actions 指南。
作者:moyuyanli & firefairy198
欢迎提交 Issue/PR 以改进功能与文档。