• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
Monoceros —— 基于 Fluxon 脚本实现各类工具

原创 开源 工具 脚本 Monoceros —— 基于 Fluxon 脚本实现各类工具 1.0.1

完成注册/登录后下载
[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]
后退
顶部 底部