[MD]
# Monoceros 1.0.1 更新日志
> 发布版本:1.0.1
> 基线版本:1.0.0(P6 阶段完成)
---
## 新功能
### API 层增强
- `Monoceros` 全局入口所有公开方法添加 `@JvmStatic`,Fluxon 脚本中可直接通过 `static cc.bkhk.monoceros.Monoceros.api()` 调用,无需 `.INSTANCE`
- 新增 `Monoceros.plugin()` 便捷方法,返回 Bukkit Plugin 实例,供脚本传递给 Bukkit Scheduler 等 API
- `MonocerosAPI` 接口新增 `sessions(): SessionService` 方法,会话服务直接通过门面接口暴露
- `DefaultMonocerosAPI` 实现 `sessions()`,回退到 `NoopSessionService` 占位
### Fluxon 脚本扩展函数库
新增 7 类 Fluxon 内建扩展函数,脚本中直接调用,无需 import:
- JSON:`jsonParse` / `jsonStringify` / `jsonPretty` / `jsonObject` / `jsonArray`
- HTTP:`httpGet` / `httpPost` / `httpRequest`(异步,返回 CompletableFuture)
- UUID:`uuid` / `uuidFromString` / `uuidFromName`
- 冷却:`cooldown` / `hasCooldown` / `getCooldown` / `removeCooldown` / `clearCooldowns`
- 颜色文本:`colored` / `uncolored`(支持顶层函数和 `:: colored()` 扩展函数两种写法)
- 结构化日志:`logInfo` / `logWarn` / `logDebug` / `logError`
- 正则表达式:`regex` / `regexMatch` / `regexMatchAll` / `regexReplace`(含 RegexWrapper / MatchWrapper 扩展)
### 脚本自动导入
- 自动导入包新增 `cc.bkhk.monoceros.*`,确保脚本中可直接引用 `Monoceros` 等根包下的类
### Wireshark 增强
- `WiresharkListener` 增强数据包监听与过滤逻辑
- 新增 `MeteorInjectorSuppressor`,自动抑制外部注入干扰
- `PacketTapConfigService` / `WiresharkServiceLoader` 补充加载逻辑
- Wireshark 示例配置改为 `#example.yml`(默认禁用,避免误启用)
### 启动与展示
- 启动阶段输出版本、平台与仓库信息,使用 i18n 国际化
- 启动 banner 渐变色优化,显示版本适配 profile
- 加载日志优化,逐条注册日志降级为 debug,减少控制台噪音
### AI Skill 知识库
- 新增 Monoceros 配置编写技能(含 Fluxon 语言参考),支持 AI 编程助手准确生成配置与脚本
- 技能文档覆盖:主配置、脚本系统、事件分发器、调度、工作流、数据包监听、命令、机制服务、挥发能力、版本适配、常见陷阱、Fluxon 语法/标准库/JVM 互操作/模块系统、Monoceros 扩展函数
### CI/CD
- 添加自动构建与发布 GitHub Release 工作流
- 添加 GitHub Issues 模板(Bug 反馈 + 功能建议,中英双语)
---
## 修复
### 脚本运行时
- 修复 Fluxon 脚本中引用 `Monoceros` 类时 `NoClassDefFoundError`(包路径不在自动导入范围内)
- 修复 Fluxon 脚本中 `static Monoceros.api()` 报 "Method not found"(Kotlin object 方法缺少 `@JvmStatic`)
- 修复 `FunctionCooldown` 的 `cooldown(key, duration)` 第二个参数为 null 时 `NullPointerException`(`as Number` 改为 `as? Number` 安全转换)
- 修复 Fluxon 保留变量冲突从 WARN 降级为静默跳过,避免正常使用时产生误导性警告
- 修正所有默认脚本为合法 Fluxon 语法
- 修复默认配置中的自定义变量名避开系统保留变量
### 命令系统
- 修复命令重载时 Paper 异步命令树构建的 `ConcurrentModificationException`:改为先收集定义、批量注销后延迟 1 tick 再批量注册,注册完成后统一刷新命令树
### 类加载
- 修复 `ClassVisitor` 跳过 Fluxon relocate 类,避免 `NoClassDefFoundError`
- 修复 `ResourceReleaser` 补充 wireshark 目录释放
- 补全默认配置引用的缺失脚本定义
---
## 文档
- 技能文档全部 `??` 修正为 `?:`(Fluxon Elvis 运算符)
- API 表格从 8 个子服务更新为 9 个,新增 `sessions()` 行
- 补充 Fluxon 脚本中访问 Monoceros API 的正确写法(`@JvmStatic` + `static` 调用)
- 新增 Kotlin object `@JvmStatic` 陷阱说明
- 新增 Monoceros 扩展函数完整 API 参考文档
- 重写 README,补充项目介绍、核心能力与模块结构
---
## 构建与配置
- Gradle 插件版本:`io.izzel.taboolib` 2.0.36
- TabooLib:6.3.0-716e043
- Fluxon:1.6.24(核心)/ 1.1.8(插件层)
- Kotlin:2.2.0
- JVM Target:1.8(默认),module-java17 为 17,module-java21 为 21
[/MD]