对话框

对话框

《我的世界》中的聊天框

杂项

模组介绍

ChatBox 是一款灵感来源于 Galgame 对话框系统的 Minecraft 对话模组。你可以通过数据包进行配置:

  • 预设多种对话框主题,并可通过命令随时切换。
  • 自定义对话框、选项框、历史按钮和角色头像的外观、位置与尺寸。
  • 角色头像支持多种类型:图片、玩家头像和物品纹理。你可以为这些头像自定义入场动画,其中图片类型有 3 种预设动画。
  • 为每一行对话配置文本和多个选项。点击选项可触发自定义命令或跳转到其他对话。
  • 所有文本元素(对话、选项)均支持翻译键。

由于所有对话配置都通过数据包实现,你可以直接使用 /reload 命令重新加载所有对话设置。无需修改任何代码即可创建精美的对话系统!

内置命令

切换主题:

/chatbox theme

跳转到指定对话:

/chatbox skip

打开对话框:

/chatbox open

事件系统

对于 KubeJS 用户,模组提供了预定义事件:

// client_script

// 在对话渲染前触发。提供 GuiGraphics 用于自定义渲染。可被取消。
ChatBoxEvents.renderPre(event => {
  let getGuiGraphics = event.getGuiGraphics()
  event.cancel()
})

// 在对话渲染后触发。提供 GuiGraphics 用于自定义渲染。
ChatBoxEvents.renderPost(event => {
  let getGuiGraphics = event.getGuiGraphics()
})

// 在跳转至对话时触发。提供对话元数据用于自定义功能。
ChatBoxEvents.skipChat(event => {
  let { chatBoxScreen, resourceLocation, group, index } = event
})

附加信息

示例数据包和文档可在 GitHub 上查阅。即将推出的功能:作者正在开发一个基于 Web 的 JSON 生成器,以简化对话配置。敬请期待发布!

维基:https://doc.mafuyu.moe