ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

三句话让CodeBuddy配TaoToken写一个MC MOD!中国版Cursor实战

三句话让CodeBuddy配TaoToken写一个MC MOD!中国版Cursor实战 1. 为什么要在 CodeBuddy 里接 TaoToken 写 MC MOD如果你最近在折腾 Java 版 Minecraft 模组大概率会遇到两个卡点一是 Forge 或 NeoForge 的 Gradle 环境对新手不友好二是 AI 编程助手在长上下文里容易断流、换模型要反复改配置。CodeBuddy 作为腾讯云出的 AI 编程助手插件形态能直接嵌进 VS Code 和 JetBrains 全家桶接管 shell、读写文件、跑构建都不在话下被不少人叫作“中国版 Cursor”。但它默认的模型通道和额度策略在连续写几百行 Java、反复读 build.gradle 和 mods.toml 的时候偶尔会让人等得心焦。我这次的做法是把 CodeBuddy 的模型请求统一走 TaoToken 的 API 通道用一个 Key 管住对话、补全和 Agent 调用。TaoToken 官网是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 它做的事情很直白——把不同模型的调用收敛成一套 OpenAI 兼容接口你在 CodeBuddy 里填一次 base_url 和 key后面换模型只改一个字段。对 MC MOD 这种“写代码—构建—看报错—再改”的循环来说少一次配置就少一次上下文丢失。这篇面向的是懂一点点 Java、想用 AI 把第一个方块注册进游戏的人。我会从环境准备讲到settings.json和config.toml骨架再到启动游戏看到方块出现在创造模式物品栏。全程不需要你手写 Gradle 脚本但每一步你都能自己复现。热词里提到的 CodeBuddy、MC MOD、Cursor、Java、Minecraft 都会落到具体操作上不空谈。2. TaoToken 前置Key、通道与 CodeBuddy 的关系先把关系理清楚。CodeBuddy 是编辑器里的“手”和“眼”负责读文件、执行命令、生成代码TaoToken 是“神经通道”负责把你的请求送到模型再送回来。你不需要在本地跑任何转发服务也不需要改 hosts只需要在 CodeBuddy 的模型配置里把请求地址指向 TaoToken 的 API 域名再填上在控制台生成的 Key。第一步打开 https://taotoken.net/api-keys 生成一个 API Key。建议按项目建 Key比如叫mc-mod-forge这样以后额度对不上时能快速定位是哪个项目在消耗。生成后复制它只会完整显示一次。第二步确认你要用的模型名。TaoToken 的模型列表在文档里能查到MC MOD 开发我建议用长上下文、代码能力强的型号因为 Forge 的build.gradle、mods.toml、语言文件加起来很容易超过两万 token。你可以在 https://taotoken.net/doc 里找到当前支持的模型标识记下来后面填进配置。第三步理解 CodeBuddy 的配置层级。CodeBuddy 插件本身有全局设置项目根目录下还可以放.codebuddy/settings.json做项目级覆盖。我推荐项目级配置因为 MC MOD 项目往往要锁 Java 版本和 Gradle 版本跟着仓库走更稳。TaoToken 的 Key 不要硬编码进仓库用环境变量引用下面会给写法。注意TaoToken 是合规的 API 聚合通道不是所谓“中转”或灰色服务。你填的 base_url 就是官方文档里写的那个不要自行拼接来路不明的地址。如果你还没装 CodeBuddy去官网按你的 IDE 选对应版本安装VS Code 和 IntelliJ IDEA 都支持。装完在侧边栏能看到 CodeBuddy 图标点开先别急着对话我们先把通道配好。3. 可复制配置settings.json 与 config.toml 骨架这一节是全文的核心你照着抄就能跑。先建项目目录比如fun-survival-challenge用 Forge MDK 1.20.4 解压进去。然后在项目根目录建.codebuddy/settings.json内容如下{ model: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: ${TAOTOKEN_API_KEY}, modelName: 你的模型标识, maxTokens: 8192, temperature: 0.2 }, agent: { autoApproveShell: false, autoApproveFileWrite: false, workspaceRoot: ${workspaceFolder} }, context: { includeGlobs: [ src/main/java/**/*.java, src/main/resources/**/*.json, src/main/resources/**/*.toml, build.gradle, gradle.properties ], excludeGlobs: [ build/**, .gradle/**, run/** ] } }几个点解释一下。baseUrl填https://taotoken.net/api不要加多余路径。apiKey用${TAOTOKEN_API_KEY}引用环境变量你在系统里设好这个变量或者用 IDE 的 env 文件加载。autoApproveShell和autoApproveFileWrite我建议先关着等你看清楚 AI 要执行什么命令再逐步放开MC MOD 构建会跑gradlew误操作代价不小。context.includeGlobs把 Java 源码、资源文件、Gradle 脚本都纳入上下文excludeGlobs把build和run排掉否则每次对话都塞一堆编译产物token 烧得飞快。接着是config.toml这是给 CodeBuddy 的 Agent 行为做约束的放在.codebuddy/config.toml[shell] timeout_seconds 600 allow_commands [gradlew, gradlew.bat, java, git] deny_commands [rm -rf, format, shutdown] [build] java_home C:\\Program Files\\Java\\jdk-17 gradle_wrapper ./gradlew default_task build [mod] loader forge mc_version 1.20.4 mod_id fun_survival_challenge mod_name Fun Survival Challengeallow_commands是白名单思路只放构建和版本控制相关的命令deny_commands挡住危险操作。java_home按你本机 JDK 17 的实际路径改Forge 1.20.4 要求 Java 17。default_task设成build这样你说“构建一下”时 Agent 知道跑哪个 Gradle 任务。环境变量设置Windows PowerShell 里$env:TAOTOKEN_API_KEY 你的KeymacOS 或 Linuxexport TAOTOKEN_API_KEY你的Key设完重启 IDE让 CodeBuddy 重新加载配置。4. 验证请求从对话到首个方块注册成功配置好了先别写业务代码做一次最小验证。在 CodeBuddy 对话框里输入“读取 build.gradle告诉我当前 Forge 版本和 Java 版本要求。”如果通道通了它会返回文件内容摘要。这一步能确认三件事Key 有效、base_url 正确、上下文读取正常。接着让它生成主类。提示词可以这样写“在src/main/java/com/example/fun_survival_challenge/下创建FunSurvivalChallenge.java使用Mod注解modid 为fun_survival_challenge并在构造里注册一个名为challenge_block的方块材质用原版石头。”CodeBuddy 会生成类似下面的代码package com.example.fun_survival_challenge; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.MapColor; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; Mod(FunSurvivalChallenge.MODID) public class FunSurvivalChallenge { public static final String MODID fun_survival_challenge; public static final DeferredRegisterBlock BLOCKS DeferredRegister.create(ForgeRegistries.BLOCKS, MODID); public static final RegistryObjectBlock CHALLENGE_BLOCK BLOCKS.register(challenge_block, () - new Block(BlockBehaviour.Properties.of() .mapColor(MapColor.STONE) .strength(2.0f) .sound(SoundType.STONE))); public FunSurvivalChallenge() { IEventBus bus FMLJavaModLoadingContext.get().getModEventBus(); BLOCKS.register(bus); } }然后让它补mods.toml和en_us.json语言文件。mods.toml里modId要和主类一致displayName写“Fun Survival Challenge”。语言文件里加block.fun_survival_challenge.challenge_block: Challenge Block。构建命令./gradlew buildWindows 用gradlew.bat build。第一次会下载依赖耐心等。构建成功后产物在build/libs/fun_survival_challenge-1.0.0.jar。把它丢进 Minecraft 的mods文件夹启动 Forge 1.20.4 客户端进创造模式物品栏搜“Challenge Block”能看到就说明链路全通了。5. 本篇常见错排查报错一Could not find or load main class或 Gradle 版本不匹配。多半是java_home指到了 JDK 8 或 11。Forge 1.20.4 必须 JDK 17。在config.toml里改对路径重启 IDE再跑./gradlew --version确认。报错二CodeBuddy 对话返回 401 或 403。检查TAOTOKEN_API_KEY环境变量是否在当前 IDE 进程里生效。VS Code 有时需要从终端启动才能继承环境变量或者用.env文件配合插件加载。另外确认baseUrl没有多写斜杠正确是https://taotoken.net/api。报错三构建时卡在Downloading很久。这是 Gradle 拉依赖慢和 TaoToken 无关。可以在gradle.properties里加国内镜像或者手动下载 Gradle 压缩包放到gradle/wrapper对应目录。CodeBuddy 能读报错你把超时日志贴给它它会建议改distributionUrl。报错四游戏启动崩溃日志显示Mod file is missing mods.toml。检查src/main/resources/META-INF/mods.toml是否存在modId是否和Mod注解里的字符串完全一致大小写敏感。改完重新./gradlew build。报错五方块注册了但游戏里找不到。确认BLOCKS.register(bus)在构造方法里被调用且en_us.json的 key 格式是block.模组id.方块id。如果还不行让 CodeBuddy 读latest.log它能定位到注册事件没触发还是资源包没加载。6. 把通道固定下来继续加内容跑通第一个方块之后你可以让 CodeBuddy 继续加物品、加合成表、加挑战逻辑。每次改完记得./gradlew build把新 jar 丢进mods覆盖旧版。TaoToken 的 Key 和 base_url 一旦配好后面换模型只改settings.json里的modelName不用动项目代码。如果你主要做长期编码和 Agent 自动化可以看看 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。需要管理多个项目的 Key去控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。想先试试模型对话效果用这个入口https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API Key 管理在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。Claude Code 相关配置参考 https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。我自己的习惯是每加一个新方块就先提交一次 git这样 AI 改崩了能立刻回滚。MC MOD 开发最耗时间的不是写代码是等构建和看日志把通道配稳、上下文收窄这两件事都会快很多。
返回列表