《我的世界》中的双子座

《我的世界》中的双子座

一个集成了Gemini AI助手的模组

社交

我关闭了这个模组。因为我讨厌我所做的一切。感谢大家的下载和支持。它只支持 1.21.4……

构建与发布

Minecraft 中的 Gemini

由 Roflboy 倾情呈现,献给 Minecraft 社区。 <3

这个 Fabric 模组将 Google 的 Gemini AI 集成到 Minecraft 中,让你可以直接在游戏内与 AI 助手互动。AI 可以回答问题、提供关于你当前环境的信息,甚至执行游戏内命令(如果启用)。

模组演示

功能

  • 游戏内 AI 聊天: 直接在聊天窗口中向 Gemini 提问并接收回复。
  • 上下文感知回复: AI 可以访问你当前游戏状态的信息,包括:
    • 玩家坐标 (x, y, z)
    • 当前维度
    • 时间和天气
    • 游戏难度和模式
    • 玩家生命值、饥饿值和经验等级
    • 物品栏和装备物品
    • 延迟和在线玩家
  • 命令执行(可选): 如果启用,Gemini 可以根据你的请求执行 Minecraft 命令。命令在 AI 回复中以 minecraft 代码块的形式提供。
  • 对话历史(可选): 模组可以记住过去的对话,从而实现更自然、更具上下文感知的交互。对话历史的大小可配置。
  • 可配置的系统提示词: 通过修改系统提示词来自定义 AI 的行为和个性。提供了一个默认提示词,侧重于实用性和 Minecraft 特定信息。
  • 可自定义模型: 选择要使用的 Gemini 模型(默认:gemini-1.5-flash)。
  • 可配置的 maxOutputTokens: 设置 AI 返回的回复最大长度(默认:200)
  • 实用命令: 使用 /aihelp 访问可用命令列表。
  • 每日消息(MOTD): 模组有每日消息,每次玩家登录时随机选择。
  • 可点击的回复: AI 回复可点击,方便你轻松跟进之前的消息或建议新的查询。
  • 声音反馈: 所有操作都有声音提示。

系统提示词中的动态变量

systemMessage 支持多个动态变量,在查询 AI 时会被替换为实时游戏信息。这允许 AI 提供上下文感知的回复。以下是可用变量列表:

  • {username}:你的 Minecraft 玩家名称。
  • {x}:你当前的 X 坐标(格式化为两位小数)。
  • {y}:你当前的 Y 坐标(格式化为两位小数)。
  • {z}:你当前的 Z 坐标(格式化为两位小数)。
  • {time}:当前世界时间(以刻为单位)。
  • {timeOfDay}:根据世界时间指示是“白天”还是“夜晚”。
  • {health}:你当前的生命值(格式化为一位小数,满值为 20)。
  • {food}:你当前的饥饿值(满值为 20)。
  • {xp}:你当前的经验等级。
  • {dimension}:你当前所在维度的名称(例如 "minecraft:overworld")。
  • {difficulty}:当前游戏难度(例如 "peaceful"、"easy"、"normal"、"hard")。
  • {weather}:当前天气状况("clear" 或 "raining")。
  • {gameMode}:你当前的游戏模式(例如 "survival"、"creative"、"adventure"、"spectator")。
  • {mainHand}:你主手持有的物品,包括数量(例如 "1x Diamond Sword" 或 "nothing")。
  • {offHand}:你副手持有的物品,包括数量(例如 "1x Shield" 或 "nothing")。
  • {inventory}:你物品栏中物品的逗号分隔列表(不包括盔甲),包括数量(例如 "64x Cobblestone, 16x Iron Ingot" 或 "empty")。
  • {armor}:你装备的盔甲的逗号分隔列表,包括耐久度(例如 "Diamond Helmet (150/363), Iron Chestplate (200/240)" 或 "no armor")。
  • {ping}:你到服务器的当前延迟(以毫秒为单位)。
  • {playerCount}:当前在线的玩家总数。
  • {playerList}:所有在线玩家名称的逗号分隔列表(例如 "Player1, Player2, Player3" 或 "no other players")。

这些变量在你每次向 AI 发送查询时都会自动更新,确保回复与你当前的情况相关。你可以在自定义的 systemMessage 中使用这些变量来定制 AI 的行为。

命令

  • /ai <query>:向 AI 发送问题。
  • /aihelp:显示可用命令及其描述列表。
  • /aihistory:显示你与 AI 的对话历史(如果启用了记忆)。
  • /clearmemory:清除对话历史。
  • /setupai apikey <apiKey>:设置你的 Google Gemini API 密钥。这是模组运行所必需的。
  • /setupai model <modelName>:设置要使用的 Gemini 模型(例如 gemini-1.5-flash)。
  • /setupai system <systemMessage>:为 AI 设置自定义系统消息。
  • /setupai defaultsystem:将系统消息重置为默认值。
  • /setupai memory <enabled> <size>:启用或禁用对话记忆并设置其大小。
    • enabled:true 或 false。
    • size:要存储的消息数量(用户和 AI 均计入)(最大 50)。
  • /setupai maxoutput <tokens>:设置最大输出 token 数。
    • tokens:50 到 8046 之间的任意数字
  • /setupai commands <enabled>:启用或禁用 AI 命令执行。
    • enabled:true 或 false。
  • /reloadconfig:重新加载配置,就像你在 Minecraft 环境外修改了它一样。

安装

  1. 安装 Fabric: 确保你已为你的 Minecraft 版本安装了 Fabric Loader。
  2. 下载模组: 下载 GeminiInMinecraft 模组(jar 文件)。
  3. 放入 mods 文件夹: 将下载的 jar 文件放入你的 Minecraft mods 文件夹。
  4. 获取 API 密钥: 你需要一个 Google Gemini API 密钥。你可以从 Google AI Studio 网站 获取。
  5. 配置模组: 启动游戏后,使用 /setupai apikey <your_api_key> 命令设置你的 API 密钥。

配置

模组使用位于你的 Minecraft config 目录中的配置文件(geminiinminecraft.json)。该文件在模组首次运行时自动创建。你可以直接编辑此文件,或使用游戏内的 /setupai 命令修改设置。

配置选项:

  • model:Gemini 模型名称(默认:gemini-1.5-flash)。
  • apiKey:你的 Google Gemini API 密钥。
  • systemMessage:指导 AI 行为的系统提示词。
  • memoryEnabled:是否启用对话记忆(true 或 false)。
  • memorySize:对话历史的大小(如果启用了记忆)。
  • maxOutputTokens:AI 回复中的最大 token 数。
  • commandExecutionEnabled:是否启用 AI 命令执行(true 或 false)。

重要说明

  • API 密钥安全: 你的 API 密钥以纯文本形式存储在配置文件中。请注意谁有权访问你的 Minecraft 目录。
  • 命令执行风险: 启用命令执行会让 AI 有能力在你的世界中运行命令。请谨慎使用此功能,因为 AI 可能会执行意外或不受欢迎的命令。建议在安全环境(例如测试世界)中测试命令执行后再在主世界中使用。
  • AI 局限性: Gemini 是一个强大的 AI,但它并不完美。它有时可能会提供不正确或无意义的回复。请务必仔细核实 AI 提供的信息,尤其是在涉及游戏机制或外部资源时。
  • 格式化: 模组的系统提示词指示 Gemini 使用 Markdown 格式。模组会将此 Markdown 转换为 Minecraft 的文本格式代码。如果你修改了系统提示词,请注意格式化的处理方式。
  • 错误处理: 模组包含基本的错误处理,但仍可能发生意外错误。如果遇到问题,请查看游戏日志以获取更详细的信息。

致谢与感谢

非常感谢 Minecraft 和 Fabric 社区持续的支持和启发。没有这些出色的工具和资源,这个模组不可能实现。

特别感谢 Google 提供的 Gemini AI 模型,为本模组的核心功能提供支持,感谢 Zaggott 制作的模组标志。

当然,还要感谢**你**使用我的模组!希望你觉得它实用又有趣。

贡献

如果你想为本模组的开发做出贡献,欢迎在 GitHub 仓库 上提交 issue 或 pull request。无论是错误修复、功能建议还是代码改进,所有贡献都欢迎。请确保你的 pull request 是相关的。

支持项目(可选)

如果你喜欢使用这个模组并想支持它的开发,可以请我喝杯咖啡!

任何支持都备受感激,并帮助我继续改进和维护这个模组。

最后的感谢

再次感谢试用我的模组!我很期待看到你如何使用它并听到你的反馈。