Compatibility
Minecraft: Java Edition
Platforms
Supported environments
75% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Links
Creators
Details
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 <data_pack_path : ResourceLocation>
Jump to a specific dialog:
/chatbox skip <data_pack_path : ResourceLocation> <group : String> <index : int>
Open dialog box:
/chatbox open
Event System
For KubeJS users, the mod provides predefined events:
// Triggered BEFORE dialog rendering. Provides GuiGraphics for custom rendering. Cancellable.
let $ChatBoxRender$Post = Java.loadClass("com.zhenshiz.chatbox.event.ChatBoxRender$Post");
NativeEvents.onEvent($ChatBoxRender$Post, event => {
let guiGraphics = event.getGuiGraphics();
});
// Triggered AFTER dialog rendering. Provides GuiGraphics for custom rendering.
let $ChatBoxRender$Pre = Java.loadClass("com.zhenshiz.chatbox.event.ChatBoxRender$Pre");
NativeEvents.onEvent($ChatBoxRender$Pre, event => {
let guiGraphics = event.getGuiGraphics();
});
// Triggered when jumping to a dialog. Provides dialog metadata for custom functionality.
let $SkipChatEvent = Java.loadClass("com.zhenshiz.chatbox.event.SkipChatEvent");
NativeEvents.onEvent($SkipChatEvent, 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!