话痨的世界

话痨的世界

Blabby World 为 Minecraft 生物提供了可配置的语音和基于战斗状态、时间、天气及附近实体的有序 A/B 对话。

Blabby World

Blabby World 为 Minecraft 生物提供了可配置的语音和基于战斗状态、时间、天气及附近实体的有序 A/B 对话。它专为整合包作者设计,并包含一个游戏内可视化编辑器,用户无需手动输入实体 ID 或编辑 JSON。

Blabby World 图片

使用可视化编辑器(按 B 键)B

左侧面板列出了已注册的生物类型,并支持按显示名称或实体 ID 搜索。右侧面板包含五个页面:

编辑器界面

  • 基础: 显示选中的生物及其已配置的语音触发条件。
  • 语音: 编辑单个生物在空闲、受伤、追击、攻击和受阻状态下的台词。
  • 对话: 为选定的 A 生物添加一个 B 生物,并编辑有序的 A/B 对话。
  • 阶段语音: 编辑单个生物在白天、夜晚、雨天、雪天和雷暴天气下的台词。
  • 阶段对话: 编辑特定环境下的 A/B 对话。

添加和编辑台词

  1. 在左侧列表中选择一个生物。
  2. 打开“语音”、“对话”、“阶段语音”或“阶段对话”页面。
  3. 如适用,选择触发条件、阶段和 B 生物。
  4. 按下文本编辑器旁边的 + 按钮以添加台词。
  5. 选中台词并在输入框中编辑。
  6. 在对话页面,使用 A/B 控件选择说话者。
  7. 右键点击台词可设置其重复频率:
    • 快速: 约 1 秒后可再次触发
    • 中等: 约 5 秒后可再次触发
    • 缓慢: 约 10 秒后可再次触发
  8. 按下 保存。服务器会立即写入并重新加载规则。

使用 /blabby reload 命令可从磁盘重新加载规则。

触发条件

  • 空闲: 生物没有敌对目标。
  • 受伤: 生物实际损失生命值。
  • 追击: 生物有可见的攻击目标。
  • 攻击: 生物攻击一个目标。
  • 受阻: 生物仇恨某个目标,但无法看到或攻击它。
  • 对话/相遇: A 生物靠近已配置的 B 生物;双方均未处于敌对状态或已在其他对话中。

在 A/B 对话期间,两个生物都会停止移动,互相注视,并播放当前说话者的环境音效。当一句台词结束后,另一个说话者会在随机 0.5 到 1 秒的停顿后开始说话。

文本优先级

默认触发顺序为:

  1. 受伤
  2. 攻击
  3. 受阻
  4. 追击
  5. A/B 对话
  6. 空闲

环境的特定性和规则自身的优先级会加到这一基础分数上。天气和时间并不互斥:在白天下雨时,如果存在雨天规则则优先触发,而白天规则仍可作为有效的备用选项。

高优先级的文本可能会打断低优先级的文本。低优先级的对话内容不能替换当前更重要的文本。

内置本地化对话

该模组包含一小部分示例台词,适用于村民、僵尸、骷髅、苦力怕、铁傀儡、狼、猫、牛、猪和羊,以及一些 A/B 对话示例。

内置文本存储在:

  • assets/blabby_world/lang/en_us.json
  • assets/blabby_world/lang/zh_cn.json

它会自动跟随每个客户端的语言设置。内置规则不会写入用户的规则文件,也不会干扰可视化编辑器。

在通用配置中设置 enableDefaultDialogues=false 可一键禁用并隐藏所有内置台词。

配置

通用配置:

  • enableDefaultDialogues:内置本地化台词的总开关。
  • debugLogging:触发器和数据包诊断信息;默认禁用。
  • conversationDistance:允许开始 A/B 对话的距离。
  • playMobSounds:播放说话生物的环境音效。

客户端配置:

  • textDistance:文本的最大渲染距离。
  • maxVisibleMobs:显示文本的最大生物数量。
  • textScale:基础文本缩放;仍会应用碰撞箱缩放。
  • animationSpeed:全局打字机效果和淡入淡出速度。

自定义规则存储在 config/blabby_world/conversations.json 中。推荐使用游戏内编辑器进行修改。

许可协议与贡献

Blabby World 采用 GNU 通用公共许可证 v3.0 授权。修改后的分发版本必须遵守 GPL-3.0 的源代码和许可要求。

在贡献之前,请阅读 CONTRIBUTING.md 文件。

GitHub 仓库 爱发电支持

1.1 版本

更新内容

  • 重建了游戏内编辑器,支持按实体分组规则,并为每行提供触发条件、阶段、速度和启用控制。
  • 添加了空闲和战斗对话状态;战斗对话不再中断战斗。
  • 添加了 NBT、名称和 UUID 匹配,以及 AI 提示词的导入/导出功能。
  • 恢复了可选的 DeepSeek 运行时台词,并加入请求限制、缓存和回退机制;默认禁用。
  • 为流行的生物添加了本地化默认台词,包括僵尸、骷髅、苦力怕、末影人、女巫、掠夺者和猪灵。

原始的 DeepSeek 集成功能由 GitHub 用户 yiyuyan (commonplace) 在 PR #1 中贡献。1.1 版本将该项工作适配到新的对话引擎,并添加了请求限制、缓存和失败回退功能。