Tutla的ClickCrystals脚本编辑器

Tutla的ClickCrystals脚本编辑器

使用CCS节点编辑器制作、编辑和创建工作流。如果你懒得编写脚本,还附带一个人工智能!

游戏机制

Tutla的CCS编辑器

ClickCrystals脚本让您无需学习繁琐的Java就能构建强大的游戏内模块。在这个编辑器中实现自动化一切。

完整编辑器界面

需要 ClickCrystals >=1.4.0。

使用方法

文本编辑器

  1. 下载模组: 从Modrinth下载模组并放入你的 mods 文件夹
  2. 下载ClickCrystals: 从官方网站或Curseforge下载并放入你的 mods 文件夹
  3. 使用快捷键打开编辑器: 默认快捷键为 j
  4. 从 组件面板 拖拽节点到 编辑器
  5. 从文本模式复制脚本: 从屏幕顶部的文本模式中复制
  6. 粘贴到ClickCrystals: 打开ClickCrystals菜单,进入 脚本 页面。点击 粘贴 来粘贴你的脚本。或者使用游戏内文件管理器直接保存。

在编写脚本前,你需要了解如何使用 CCS 的基本功能。

功能列表

  • 文本编辑器: 文本编辑器允许你编辑原始脚本。支持语法高亮和 基础 错误检测
  • 节点编辑器: 从组件面板拖拽节点到编辑器来起草脚本
  • 生成式AI: AI标签页允许你通过描述来生成脚本。更多信息请阅读下方章节

文本编辑器

  • 关键词、命令、条件、字符串、数字和注释的语法高亮
  • 自动闭合括号 — 输入 { 会自动插入 {} 并将光标放在内部
  • 括号配对高亮 — 当光标靠近一对 { / } 时,配对的高亮显示
  • Tab自动补全 — 按Tab键补全当前关键词或命令
  • 查找(Ctrl+F) — 编辑器顶部的搜索栏;Enter / Shift+Enter 切换匹配项,Escape 关闭
  • 查找与替换(Ctrl+H) — 添加替换栏;替换单个(Enter)或全部(Ctrl+Enter)匹配项
  • 保存时自动美化(Ctrl+S) — 保存前以一致的3空格缩进重新格式化脚本,与 ccs.tutla.net 上的格式化器一致
  • 问题面板 — 可折叠的底部栏,显示所有检测到的语法错误及其行号;点击任意错误直接跳转到该行

文件管理器

  • 类似VS Code的完整文件资源浏览器,用于你的 .clickcrystals/scripts 目录
  • 创建、重命名和删除文件及文件夹 — 包括嵌套子文件夹
  • 右键上下文菜单 — 对任意项目提供新建文件、新建文件夹、重命名、删除操作
  • 所有删除操作都需要确认对话框;删除文件夹会移除其所有内容
  • 关闭文件会自动关闭其编辑器标签页
  • 标签页标题显示相对路径(例如显示 workflows/door 而非仅 door)

布局与工作流

  • 多标签编辑 — 同时打开多个脚本;标签页显示未保存更改的指示
  • 未命名脚本 — 新文件在首次使用 Ctrl+S 保存(触发另存为)前显示为 未命名
  • 运行按钮(▶) — 标题栏中的绿色按钮,向聊天发送 ,ccs reload-scripts,无需离开编辑器即可在游戏内重新加载脚本

AI

AI界面

AI标签页允许你通过描述来生成脚本。使用时,前往屏幕右上角点击"AI"打开菜单。

菜单中会显示4个选项:

  • Claude: 在此获取API密钥。Claude在严格的使用限制下允许免费使用API,除非你付费。因此,仅在你愿意付费以获得更高质量脚本时使用。
  • GPT: 在此获取API密钥
  • Gemini: 在此获取API密钥
  • Ollama: 允许你在本地系统运行AI,无需联网(需要性能足够的GPU)。推荐模型为 llama3.1:8b,但你也可以使用更好的模型。安装ollama并确保其在服务状态(通过终端运行 ollama serve 启动服务)。如果首次响应耗时过长,请确保 llama3.1:8b 或你想要的模型 已经安装。通过 ollama run llama3.1:8b 安装。

如果不通过Ollama在本地运行,则在编辑器内AI面板的相应输入框中填入API密钥。

使用AI时请注意:

  • 言简意赅: 这是AI,不是ItzRealMe。把它想象成一位47岁的专业开发者,有空时玩Minecraft。他当然不知道什么是"单周期"或"D-tap"!请指定每一步操作,而非给出模糊解释,低端模型和大多数本地模型容易产生幻觉。 某些模型如 gemini-2.5-flash 如果不够具体会直接拒绝请求。
  • 完成任务后清除聊天: 过多的上下文积累会快速消耗令牌,比F1赛车还快达到使用限制。完成特定任务(如脚本中开门的部分)后务必清除聊天。当脚本中之前的内容不再需要修改时,清空即可。你的当前脚本无论如何都会发送给AI。
  • "未知节点!我该怎么办?"——别慌: 如果AI生成了未知节点,告诉它哪里出错并指定其为未知。例如:显示"play_Sound"为未知。请使用正确的定义修复它。如果不存在请注明。 如果反复提示后AI仍无法解决,则尝试自己查找该节点:毕竟人类更优越(但Claude Opus绝对能搞定)。