Mod Introduction
ChatBox is a dialog box mod designed for Minecraft, inspired by the dialog systems found in Galgames. You can configure it using data packs:
-
Pre-set multiple themes for dialog boxes and switch between them anytime using commands.
-
Customize the appearance, position, and size of dialog boxes, option boxes, history buttons, and character portraits.
-
Character portraits support multiple types: images, player avatars, and item textures. You can define custom entry animations for these portraits, with images having 3 preset animations.
-
Configure dialog text and multiple options for each line. Clicking options can trigger custom commands and jump to other dialogs.
-
All text elements (dialogs, options) support translation keys.
Since all dialog configurations are implemented through data packs, you can reload all dialog settings directly using the /reload command. Create beautiful dialog systems without modifying any code!
Built-in Commands
Switch themes:
/chatbox theme
Jump to a specific dialog:
/chatbox skip
Open dialog box:
/chatbox open
Event System
For KubeJS users, the mod provides predefined events:
//client_script
// Triggered BEFORE dialog rendering. Provides GuiGraphics for custom rendering. Cancellable.
ChatBoxEvents.renderPre(event=>{
let getGuiGraphics = event.getGuiGraphics()
event.cancel()
})
// Triggered AFTER dialog rendering. Provides GuiGraphics for custom rendering.
ChatBoxEvents.renderPost(event=>{
let getGuiGraphics = event.getGuiGraphics()
})
// Triggered when jumping to a dialog. Provides dialog metadata for custom functionality.
ChatBoxEvents.skipChat(event => {
let { chatBoxScreen, resourceLocation, group, index } = event
})
Additional Information
Example data packs and documentation are available on GitHub. Upcoming feature: The author is developing a web-based JSON generator to simplify dialog configuration. Stay tuned for its release!
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 |
- 配合新版网页编辑器,支持立绘复制粘贴、撤销与重做。
- 支持通过预览框控制点调整组件大小,并对支持旋转的组件拖动旋转。
- 改善带动画组件的实时预览同步,保留动画本身的缩放与旋转效果。
<li>
<p><code>chatbox</code>命令新增<code>group</code>子命令,用于添加对话组,成员会自动同步组长的对话进度</p>
</li>
<li>
<p><code>chatbox</code>命令新增<code>playVideo</code>子命令,用于播放视频</p>
</li>
<li>
<p><code>chatbox command nextDialogue</code> 添加一个可选数字参数,用于强制跳转对话,可以填负数</p>
</li>
<li>
<p>视频:</p>
<ul>
<li>
<p>兼容<a href="https://modrinth.com/mod/watermedia" target="_blank"
rel="noopener noreferrer nofollow"><u>WATERMeDIA</u></a>
3.0.0.23版本,同时保留旧版(2.1.25)兼容(26.1版本模组只兼容3.0.0.23)</p>
</li>
<li>
<p>新增<code>removeOnEnd</code>字段(默认为<code>true</code>)</p>
</li>
<li>
<p>
新增<code>removeOnNext</code>字段(默认为<code>true</code>)(详细介绍见主文档的<strong>视频</strong>部分)
</p>
</li>
</ul>
</li>
<li>
<p>若对话的主题没有配置快进按键,渲染层模式下也不允许快进对话</p>
</li>
<li>
<p>新增<code>disableMouseScroll</code>配置项(默认为<code>false</code>)</p>
</li>
</ul>
<li>
<p><code>chatbox</code>命令新增<code>group</code>子命令,用于添加对话组,成员会自动同步组长的对话进度</p>
</li>
<li>
<p><code>chatbox</code>命令新增<code>playVideo</code>子命令,用于播放视频</p>
</li>
<li>
<p><code>chatbox command nextDialogue</code> 添加一个可选数字参数,用于强制跳转对话,可以填负数</p>
</li>
<li>
<p>视频:</p>
<ul>
<li>
<p>兼容<a href="https://modrinth.com/mod/watermedia" target="_blank"
rel="noopener noreferrer nofollow"><u>WATERMeDIA</u></a>
3.0.0.23版本,同时保留旧版(2.1.25)兼容(26.1版本模组只兼容3.0.0.23)</p>
</li>
<li>
<p>新增<code>removeOnEnd</code>字段(默认为<code>true</code>)</p>
</li>
<li>
<p>
新增<code>removeOnNext</code>字段(默认为<code>true</code>)(详细介绍见主文档的<strong>视频</strong>部分)
</p>
</li>
</ul>
</li>
<li>
<p>若对话的主题没有配置快进按键,渲染层模式下也不允许快进对话</p>
</li>
<li>
<p>新增<code>disableMouseScroll</code>配置项(默认为<code>false</code>)</p>
</li>
</ul>
<li>
<p><code>chatbox</code>命令新增<code>group</code>子命令,用于添加对话组,成员会自动同步组长的对话进度</p>
</li>
<li>
<p><code>chatbox</code>命令新增<code>playVideo</code>子命令,用于播放视频</p>
</li>
<li>
<p><code>chatbox command nextDialogue</code> 添加一个可选数字参数,用于强制跳转对话,可以填负数</p>
</li>
<li>
<p>视频:</p>
<ul>
<li>
<p>兼容<a href="https://modrinth.com/mod/watermedia" target="_blank"
rel="noopener noreferrer nofollow"><u>WATERMeDIA</u></a>
3.0.0.23版本,同时保留旧版(2.1.25)兼容(26.1版本模组只兼容3.0.0.23)</p>
</li>
<li>
<p>新增<code>removeOnEnd</code>字段(默认为<code>true</code>)</p>
</li>
<li>
<p>
新增<code>removeOnNext</code>字段(默认为<code>true</code>)(详细介绍见主文档的<strong>视频</strong>部分)
</p>
</li>
</ul>
</li>
<li>
<p>若对话的主题没有配置快进按键,渲染层模式下也不允许快进对话</p>
</li>
<li>
<p>新增<code>disableMouseScroll</code>配置项(默认为<code>false</code>)</p>
</li>
</ul>
<li>
<p><code>chatbox</code>命令新增<code>group</code>子命令,用于添加对话组,成员会自动同步组长的对话进度</p>
</li>
<li>
<p><code>chatbox</code>命令新增<code>playVideo</code>子命令,用于播放视频</p>
</li>
<li>
<p><code>chatbox command nextDialogue</code> 添加一个可选数字参数,用于强制跳转对话,可以填负数</p>
</li>
<li>
<p>视频:</p>
<ul>
<li>
<p>兼容<a href="https://modrinth.com/mod/watermedia" target="_blank"
rel="noopener noreferrer nofollow"><u>WATERMeDIA</u></a>
3.0.0.23版本,同时保留旧版(2.1.25)兼容(26.1版本模组只兼容3.0.0.23)</p>
</li>
<li>
<p>新增<code>removeOnEnd</code>字段(默认为<code>true</code>)</p>
</li>
<li>
<p>
新增<code>removeOnNext</code>字段(默认为<code>true</code>)(详细介绍见主文档的<strong>视频</strong>部分)
</p>
</li>
</ul>
</li>
<li>
<p>若对话的主题没有配置快进按键,渲染层模式下也不允许快进对话</p>
</li>
<li>
<p>新增<code>disableMouseScroll</code>配置项(默认为<code>false</code>)</p>
</li>
</ul>
<li>
<p>优化历史记录界面的渲染</p>
</li>
<li>
<p>
优化MVEL解析,详见扩展功能-MVEL文档,现在可以在对话文本中写<code><<MVEL代码>></code>当做更加强大的占位符使用(需要代码执行后有返回值)
</p>
</li>
<li>
<p>对话文本配置新增字段:</p>
<ul>
<li>
<p><code>bgm</code>:用于控制背景音乐播放</p>
<ul>
<li>
<p>若值有效,只要玩家处于对话框界面,该音效就会循环播放</p>
</li>
<li>
<p>连续的对话若该字段值相同,背景音乐不会重新开始</p>
</li>
<li>
<p>填写空字符串会停止背景音乐(不想为了bgm再加个类似于stopBgm的字段)</p>
</li>
<li>
<p>如果不写该字段(即为null的情况),不会有任何操作(意思是你可以只在需要播放和停止背景音乐时才写这个字段)</p>
</li>
</ul>
</li>
<li>
<p>
<code>stayTick</code>:强制玩家在该对话停留时长,若未达到指定时长,玩家无法跳转下一句对话(默认值为0,填负数则不论过多久玩家都无法跳转,不影响选项的跳转)
</p>
</li>
</ul>
</li>
<li>
<p>修复无法正常检查音效是否正在播放的bug</p>
</li>
</ul>
<li>
<p>优化历史记录界面的渲染</p>
</li>
<li>
<p>
优化MVEL解析,详见扩展功能-MVEL文档,现在可以在对话文本中写<code><<MVEL代码>></code>当做更加强大的占位符使用(需要代码执行后有返回值)
</p>
</li>
<li>
<p>对话文本配置新增字段:</p>
<ul>
<li>
<p><code>bgm</code>:用于控制背景音乐播放</p>
<ul>
<li>
<p>若值有效,只要玩家处于对话框界面,该音效就会循环播放</p>
</li>
<li>
<p>连续的对话若该字段值相同,背景音乐不会重新开始</p>
</li>
<li>
<p>填写空字符串会停止背景音乐(不想为了bgm再加个类似于stopBgm的字段)</p>
</li>
<li>
<p>如果不写该字段(即为null的情况),不会有任何操作(意思是你可以只在需要播放和停止背景音乐时才写这个字段)</p>
</li>
</ul>
</li>
<li>
<p>
<code>stayTick</code>:强制玩家在该对话停留时长,若未达到指定时长,玩家无法跳转下一句对话(默认值为0,填负数则不论过多久玩家都无法跳转,不影响选项的跳转)
</p>
</li>
</ul>
</li>
<li>
<p>修复无法正常检查音效是否正在播放的bug</p>
</li>
</ul>
<li>
<p>优化历史记录界面的渲染</p>
</li>
<li>
<p>
优化MVEL解析,详见扩展功能-MVEL文档,现在可以在对话文本中写<code><<MVEL代码>></code>当做更加强大的占位符使用(需要代码执行后有返回值)
</p>
</li>
<li>
<p>对话文本配置新增字段:</p>
<ul>
<li>
<p><code>bgm</code>:用于控制背景音乐播放</p>
<ul>
<li>
<p>若值有效,只要玩家处于对话框界面,该音效就会循环播放</p>
</li>
<li>
<p>连续的对话若该字段值相同,背景音乐不会重新开始</p>
</li>
<li>
<p>填写空字符串会停止背景音乐(不想为了bgm再加个类似于stopBgm的字段)</p>
</li>
<li>
<p>如果不写该字段(即为null的情况),不会有任何操作(意思是你可以只在需要播放和停止背景音乐时才写这个字段)</p>
</li>
</ul>
</li>
<li>
<p>
<code>stayTick</code>:强制玩家在该对话停留时长,若未达到指定时长,玩家无法跳转下一句对话(默认值为0,填负数则不论过多久玩家都无法跳转,不影响选项的跳转)
</p>
</li>
</ul>
</li>
<li>
<p>修复无法正常检查音效是否正在播放的bug</p>
</li>
</ul>
<li>
<p>优化历史记录界面的渲染</p>
</li>
<li>
<p>
优化MVEL解析,详见扩展功能-MVEL文档,现在可以在对话文本中写<code><<MVEL代码>></code>当做更加强大的占位符使用(需要代码执行后有返回值)
</p>
</li>
<li>
<p>对话文本配置新增字段:</p>
<ul>
<li>
<p><code>bgm</code>:用于控制背景音乐播放</p>
<ul>
<li>
<p>若值有效,只要玩家处于对话框界面,该音效就会循环播放</p>
</li>
<li>
<p>连续的对话若该字段值相同,背景音乐不会重新开始</p>
</li>
<li>
<p>填写空字符串会停止背景音乐(不想为了bgm再加个类似于stopBgm的字段)</p>
</li>
<li>
<p>如果不写该字段(即为null的情况),不会有任何操作(意思是你可以只在需要播放和停止背景音乐时才写这个字段)</p>
</li>
</ul>
</li>
<li>
<p>
<code>stayTick</code>:强制玩家在该对话停留时长,若未达到指定时长,玩家无法跳转下一句对话(默认值为0,填负数则不论过多久玩家都无法跳转,不影响选项的跳转)
</p>
</li>
</ul>
</li>
<li>
<p>修复无法正常检查音效是否正在播放的bug</p>
</li>
</ul>
修复了在跳转到一句新的对话时触发跳转对话(jump)事件会导致崩溃的bug
修复了在跳转到一句新的对话时触发跳转对话(jump)事件会导致崩溃的bug
修复了在跳转到一句新的对话时触发跳转对话(jump)事件会导致崩溃的bug
修复了在跳转到一句新的对话时触发跳转对话(jump)事件会导致崩溃的bug
增加了condition字段,留空即无条件,默认客户端执行mvel,若以execute开头就是服务端执行命令,若以server:开头就是在服务端执行mvel
增加了两种触发时机:tick和check(即使不被渲染也会执行一次,可用于被隐藏的组件)
增加了一些类型:lock, unlock, set_normal, mvel
立绘现在新增了isLock和lockTexture字段;选项的unlockCommand字段逻辑和组件事件的condition字段一样,效果同之前
chatbox指令新增mvelTest子命令,便于测试mvel的执行情况
增加了condition字段,留空即无条件,默认客户端执行mvel,若以execute开头就是服务端执行命令,若以server:开头就是在服务端执行mvel
增加了两种触发时机:tick和check(即使不被渲染也会执行一次,可用于被隐藏的组件)
增加了一些类型:lock, unlock, set_normal, mvel
立绘现在新增了isLock和lockTexture字段;选项的unlockCommand字段逻辑和组件事件的condition字段一样,效果同之前
chatbox指令新增mvelTest子命令,便于测试mvel的执行情况
增加了condition字段,留空即无条件,默认客户端执行mvel,若以execute开头就是服务端执行命令,若以server:开头就是在服务端执行mvel
增加了两种触发时机:tick和check(即使不被渲染也会执行一次,可用于被隐藏的组件)
增加了一些类型:lock, unlock, set_normal, mvel
立绘现在新增了isLock和lockTexture字段;选项的unlockCommand字段逻辑和组件事件的condition字段一样,效果同之前
chatbox指令新增mvelTest子命令,便于测试mvel的执行情况
增加了condition字段,留空即无条件,默认客户端执行mvel,若以execute开头就是服务端执行命令,若以server:开头就是在服务端执行mvel
增加了两种触发时机:tick和check(即使不被渲染也会执行一次,可用于被隐藏的组件)
增加了一些类型:lock, unlock, set_normal, mvel
立绘现在新增了isLock和lockTexture字段;选项的unlockCommand字段逻辑和组件事件的condition字段一样,效果同之前
chatbox指令新增mvelTest子命令,便于测试mvel的执行情况
新增生物实体渲染类型的立绘
新增生物实体渲染类型的立绘