BukkitCode —— 无需编写代码 AI-Agent直接生成 Bukkit 插件

原创 工具 BukkitCode —— 无需编写代码 AI-Agent直接生成 Bukkit 插件 1.1

完成注册/登录后下载
版权类型
原创
插件中文名称
桶代码
插件英文名称
BukkitCode
原帖地址
https://modrinth.com/plugin/bukkitcode
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Folia
语言支持
多语言
适配版本(Java)
  1. 1.21
  2. 1.20
  3. 1.19
  4. 1.18
  5. 1.17
  6. 1.16
  7. 1.15
  8. 1.14
  9. 1.13
  10. 1.12
[MD] # BukkitCode:无需编写代码——AI AI-Agent直接生成 Bukkit 插件 --- ![banner](https://cdn.modrinth.com/data/cached_images/7fd2fc341ffaa47d3d49891dca68a74a1e15be79.jpeg) --- **使用AI-Agent构建 Bukkit 插件。** 你只需在浏览器中与 BukkitCode 的AI-Agent聊天,描述你的玩法想法和需求。AI-Agent会为你设计并生成一个完整的 Bukkit 插件项目(导出为项目文件)。然后,你服务器上的 BukkitCode 编译器插件会将该项目编译成可加载的插件 JAR,并且支持 **加载 / 卸载 / 重载 / 一键部署**——全程无需重启服务器。 无需在本地安装 IDE、构建工具或 JDK 项目模板。 你的主要精力集中在与AI-Agent讨论“插件应该如何实现和表现”。 编译器插件只负责“安全、稳定地将AI-Agent生成的项目转换为可运行的 Bukkit 插件”。 ## 🚀 从想法到 Bukkit 插件:整体工作流程 1. **打开 BukkitCode 网页应用**(在浏览器中访问 https://bukkitcode.com/chat ),注册并登录,然后直接与AI-Agent聊天: - 首先选择你希望插件兼容的 Minecraft 版本; - 然后告诉AI-Agent你想要什么——例如“挖矿时随机掉落金苹果”或“制作一个邮箱插件”; - 你无需担心配置、权限或玩家体验的格式问题。 2. **AI-Agent会根据你的描述创建或修改 Bukkit 插件项目:** - 自动规划 `plugin.yml`、命令、权限、插件依赖等; - 生成核心逻辑代码和所需资源文件; - 唯一目标是让该项目能够作为 Bukkit 插件在服务器上运行。 3. **运行编译或测试**——在网页界面中,点击 **“导出插件项目 (.sirc)”** 获取 `.sirc` 项目文件,将其放入 `plugins\BukkitCode\project`,并执行 `/bukkitcode compiler`。 (如果你已经有一个 `.sirc` 文件,也可以直接将其 **导入** 网页应用,从上次的进度继续。) (如果你的服务器和 BukkitCode 编辑器处于同一环境,它们会被关联,你可以点击 **“构建插件”** 一键编译并部署到服务器。) 4. **当你之后想改变插件行为时**,回到网页应用,告诉AI-Agent要修改什么,导出新的 `.sirc`,然后重新编译。 **一句话总结**:网页端AI-Agent负责 **“设计和编写代码”**,而你服务器上的 BukkitCode 负责 **“编译和加载”**。 --- ![Screenshot 1](https://cdn.modrinth.com/data/cached_images/c310dff7fee9df64d5390c76141321429cdbbbc8_0.webp) --- ## 💬 网页端在线构建器:bukkitcode.com/chat 网页应用是 BukkitCode 的在线构建器——**你无需自行部署任何东西**。在这里你可以: - 用自然语言描述玩法和规则,AI-Agent会帮助生成和调整项目结构与代码; - 像文件管理器一样管理虚拟项目文件——查看、添加、编辑和预览它们; - 导入现有的 `.sirc` 项目,并基于之前的进度继续开发; - 一键导出 `.sirc` 项目文件,交给服务器上的 BukkitCode 编译器插件。 **简单来说**:你在应用中构建“项目”,服务器上的 BukkitCode 将其编译成可运行的插件。 --- ![Screenshot 2](https://cdn.modrinth.com/data/cached_images/982796a2f5e4d5ce2afe10d01d948231df553002.png) --- ## 🔧 安装:安装 BukkitCode 编译器插件 1. 获取最新的 `BukkitCode.jar` 并将其放入服务器的 `plugins/` 目录; 2. 启动服务器(**你必须使用 JDK 而不是 JRE 运行服务器,否则无法获取编译器——参见 [常见问题](#-faq)**); 3. 首次启动后,插件会自动在 `plugins/BukkitCode/` 下创建配置和工作目录。 BukkitCode 编译器插件不要求你在本地设置任何 IDE、Maven/Gradle 项目或 JDK 项目模板。它仅依赖于正在运行的 Minecraft 服务器环境。 ## 📜 快速开始(使用编译器 `BukkitCode.jar`) 1. 将 `.sirc` 项目文件放入 `plugins/BukkitCode/project/`; 2. 在控制台运行以下命令: ```text bukkitcode compiler MyPlugin.sirc # 仅编译;输出到目标目录 bukkitcode compiler MyPlugin.sirc deploy # 编译 + 自动部署到 plugins/ 并立即加载 bukkitcode sirctree MyPlugin.sirc # 查看 .sirc 文件的内部文件树 bukkitcode load MyPlugin # 从 plugins/ 目录加载插件 bukkitcode unload MyPlugin # 完全卸载插件 bukkitcode reload MyPlugin # 重新加载插件(卸载并从 jar 重新加载) ``` 主命令别名:`/bcode`。 > **注意**:所有命令都可以在控制台执行。玩家在游戏中执行需要相应权限。实际参数以 `/bukkitcode help` 为准。 ## 📜 命令参考 | 命令 | 权限 | 描述 | |---|---|---| | `/bukkitcode help` | bukkitcode.view | 查看帮助 | | `/bukkitcode compiler <project.sirc> [deploy]` | bukkitcode.admin | 编译项目;添加 `deploy` 可在编译后自动部署并加载 | | `/bukkitcode sirctree <project.sirc>` | bukkitcode.view | 查看 .sirc 文件的虚拟文件树 | | `/bukkitcode load <plugin>` | bukkitcode.admin | 加载插件(通过插件名或 jar 文件名) | | `/bukkitcode unload <plugin>` | bukkitcode.admin | 完全卸载插件 | | `/bukkitcode reload <plugin>` | bukkitcode.admin | 重新加载插件 | 贴心的 Tab 补全:`load` 只提示 **尚未加载** 的插件;`unload` / `reload` 提示已加载的插件;`compiler` 的第三个参数提示 `deploy`。 ### 权限 | 权限 | 默认值 | 描述 | |---|---|---| | bukkitcode.admin | OP | 编译项目和管理插件 | | bukkitcode.view | OP | 查看帮助和文件树 | --- ## 📁 目录结构 首次运行后,将在 `plugins/BukkitCode/` 下生成以下标准目录结构: ```text plugins/ ├── BukkitCode/ │ ├── config.yml # 配置文件 │ ├── library/ # 附加依赖 jar(自动添加到编译类路径) │ ├── project/ # .sirc 输入文件 │ ├── target/ # 编译输出 jar(默认) │ ├── build-cache/ # 临时编译目录 │ └── messages/ # 自定义语言文件 └── ... ``` `config.yml` 可以控制输出目录、编译限制、语言、插件保护列表等行为。大多数情况下,默认配置就足够了。 ## ⚙️ 配置参考(config.yml) ```yaml compiler: output-directory: "target" # 编译产物的输出目录(相对于插件数据目录) output-to-plugins: false # 为 true 时,产物直接输出到服务器的 plugins 目录 plugins-directory-name: "plugins" # output-to-plugins=true 时的目标目录名 projects-directory: "project" # .sirc 项目文件的目录 lib-directory: "library" # 附加依赖 jar 的目录(编译类路径中的优先项) build-cache-directory: "build-cache"# 临时编译目录 verbose-logging: false # 详细的 javac 日志 max-concurrent-jobs: 1 # 并发编译数(出于安全强制为 1) timeout-seconds: 120 # 编译超时秒数 max-single-file-size-kb: 1024 # 解包 .sirc 后单个文件的最大大小 max-total-size-kb: 20480 # 解包后总大小的最大值 tree-max-lines: 400 # sirctree 显示的最大行数 copy-retry-times: 5 # 输出复制重试次数(文件被锁定时) copy-retry-wait-ms: 200 # 重试间隔毫秒 language: current: "en_US" # 语言:en_US / zh_CN enable-custom: true # 允许自定义语言文件覆盖 permissions: admin-permission: "bukkitcode.admin" view-permission: "bukkitcode.view" plugin-manager: # 禁止被 /bukkitcode unload|reload 卸载的插件(不区分大小写) # BukkitCode 本身始终受保护,即使不在此列表中也不会被卸载 ignored-plugins: - BukkitCode ``` --- ## 📦 关于 .sirc 项目文件 `.sirc` 是 BukkitCode 网页应用导出的项目文件。它包含插件的完整项目文件和配置。只需将 `.sirc` 文件放入 `plugins/BukkitCode/project/`,BukkitCode 编译器就会自动识别并解析它——无需手动处理。 `.sirc` 文件是自包含的,便于备份、分享和在服务器之间迁移。你也可以将其重新导入网页应用以继续编辑。 --- ## 🌍 多语言支持 - 内置 `en_US` 和 `zh_CN`,可通过 config.yml 中的 `language.current` 切换; - 将内置语言文件复制到 `plugins/BukkitCode/messages/` 并修改,即可自定义覆盖(UTF-8 编码)。 --- ## ❓ 常见问题 **Q1:使用 BukkitCode 需要懂 Java 吗?** 不需要。你主要通过自然语言与网页端AI-Agent对话来开发插件,AI-Agent负责代码和结构。你只需要在服务器上为编译器插件运行几个命令。 **Q2:服务器可以在 JRE 上运行吗?** 不可以。编译依赖于 JDK 捆绑的系统编译器(`ToolProvider.getSystemJavaCompiler`),JRE 中没有该编译器。请使用 JDK 运行服务器。 **Q3:`compiler` 和 `deploy` 有什么区别?** `compiler` 只进行编译,输出到 `target/` 目录。添加 `deploy` 参数后,编译成功会自动执行一键部署:“卸载旧版本 → 将旧 jar 重命名为 `.jard` → 复制新 jar → 立即加载。” **Q4:编译失败怎么办?** 查看错误报告——它会指出 `文件:行号` 并保留完整的错误信息。你可以直接将其复制给 AI 模型进行排查,或者发送回网页应用让AI-Agent修复后重新导出。 **Q5:为什么有些插件无法卸载?** 有两种可能:第一,Paper 原生插件(`paper-plugin.yml`)不支持热卸载,会被明确拒绝;第二,插件受 config.yml 中的 `ignored-plugins` 列表保护(BukkitCode 本身始终受保护)。 **Q6:卸载后可以立即替换 jar 文件吗?** 可以。卸载过程会断开类加载器的内部引用循环,关闭类加载器,并主动调用 `System.gc()`,从而在 Windows 中释放 jar 文件的文件锁。 --- ## ⚠️ 已知限制 - 服务器必须运行在 **JDK** 上(编译依赖 JDK 系统编译器); - 编译在服务器上进行,因此非常大的项目会消耗服务器 CPU/内存(有超时和大小限制作为安全措施); - Paper 原生插件不支持热卸载;持有静态引用或自行创建线程的插件无法被任何热卸载方案回收。 --- ## 🙏 致谢 - 感谢 Minecraft / Bukkit / Spigot / Paper 社区长期以来维护其生态和文档; - 感谢参与 BukkitCode 测试和反馈的服务器管理员和开发者。你们的建议直接推动了产品的改进。 立即开始:打开 https://bukkitcode.com/chat ,描述你的玩法想法,导出 `.sirc`,在你的服务器上编译并部署——将你的想法变成真正运行的插件! [/MD]
作者
维嘉
下载
10
查看
152
首次发布
最后更新

评分

0.00 星 0 次评分

维嘉 的其他资源

后退
顶部 底部