Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
IMBlocker
English Description
Overview
IMBlocker is a mod that aims to provide complete IME features for Minecraft as well as slightly improve your typing experience.
Features
The major features and platform compatiblity of the mod are as follows:
- Automatically set the IME state based on current input context.
- Monitor the chat input and automatically set the temporary English state if command syntax is detected.
- Make candidate window be able to locate the caret position.
- In-game rendering of IME content.
| Feature | Windows | macOS | Linux (X11) | Linux (Wayland) |
|---|---|---|---|---|
| Auto State-Switching | Supported | Supported | Supported | Supported |
| Command Auto-EN | Supported | Supported | Supported | Supported |
| Caret Tracking | Supported | 26.1+/Backporting | 26.1+/Planned | 26.1+ or HDR Mod |
| IngameIME | Supported | Unsupported | Unsupported | Unsupported |
Note: We recommend enabling the ingame IME only if your input method has display issues in exclusive fullscreen, and this feature will still be optional after 26.3 (requires Cloth Config to enable).
Special Workarounds
This mod includes following platform-specific workarounds:
- Prevents non-character keys being leaked to the game while candidates showing on Linux (<26.3).
- Allows characters to be typed into the game after calling
SDL_StopTextInput.
Compatibility with Custom-GUI Mods
IMBlocker provides complete IME features for third-party text widgets through a unified focus management system and a generic abstraction layer for widgets, along with Mixin technology. Mods listed below feature the same level of IME enhancements as vanilla:
- Roughly Enough Items
- EMI
- Axiom
- Replay Mod
- FTB Library
- Meteor Client
- LibGui
- Reese's Sodium Options
- BlockUI
- SuperMartijn642's Core Lib
- Notes
- Essential Mod*
- Armourer's Workshop
- ModernUI
- LDLib2
*On Fabric, you need to extract the file named "essential-<32-bit code>.jar" from the root directory of its mod JAR and only put this file into your mod folder.
If the mod you are using is not listed here and its input widgets cannot activate the IME after gaining focus, please use screen whitelist as a temporary solution and give feedback.
What Does It Offer after 26.1?
TL;DR IMBlocker's focus tracking is almost absolutely precise, which is essential for setting the IME state. Additionally, this mod provides many customizable options and compatibility with third-party widgets, which are not practical to implement in vanilla code.
IMPORTANT: This mod might be essential for all modpack players after 26.3, regardless of their language. The reason is that custom-implemented text input widgets cannot be recognized by vanilla to notify the SDL backend when focused, while SDL_StopTextInput blocks all character input. If you're the developer of this kind of mods, we recommend only implementing basic SDL_StartTextInput and SDL_StopTextInput stuff and conditionally disable them if IMBlocker is present. For further technical support, please contact us on Github.
概述
IMBlocker 是一个致力于为 Minecraft 提供完整输入法支持并根据场景增强输入体验的模组。
功能
本模组当前包含的主要功能及跨平台支持情况如下:
- 自动根据当前输入上下文调整输入法的激活状态;
- 监测聊天栏文本是否为命令格式并自动切换临时中英文状态;
- 令输入法候选框能够实时跟踪文本光标;
- 游戏内渲染输入法 UI。
| 功能序号 | Windows | macOS | Linux (X11) | Linux (Wayland) |
|---|---|---|---|---|
| 1 | 完全支持 | 完全支持 | 完全支持 | 完全支持 |
| 2 | 完全支持 | 完全支持 | 完全支持 | 完全支持 |
| 3 | 完全支持 | 26.1+/向后移植中 | 26.1+/计划支持 | 26.1+ 或 HDR Mod |
| 4 | 完全支持 | 不支持 | 不支持 | 不支持 |
注意:游戏内输入法仅推荐在独占全屏模式下输入法自身 UI 有显示问题时启用,此功能在 26.3 以后仍会保留为可选项,需通过 Cloth Config 开启。
特殊修复
本模组当前主要包含以下特定平台问题的修复:
- 修复 Linux 下候选词显示时控制按键泄漏至游戏的问题(<26.3);
- 修复 SDL 后端下
SDL_StopTextInput导致无法输入任何字符的问题。
与自定义界面模组的兼容性
本模组使用定制焦点管理系统以及通用组件抽象层配合 Mixin 技术对第三方模组内的自定义文本组件提供完整的输入法支持,目前以下模组拥有与原版相同级别的输入法增强:
- Roughly Enough Items
- EMI
- Axiom
- Replay Mod
- FTB Library
- Meteor Client
- LibGui
- Reese's Sodium Options
- BlockUI
- SuperMartijn642's Core Lib
- Notes
- Essential Mod*
- Armourer's Workshop
- ModernUI
- LDLib2
*在 Fabric 下使用此模组时需要手动使用压缩软件将其 JAR 根目录下名为“essential-<32位序列码>”的文件提取到模组文件夹并移除原模组文件
如果您使用的模组未在此列出且其中的输入框无法在获得焦点后激活输入法,请先将屏幕白名单用作临时方案并进行反馈。
对于 26.1+ 版本的作用
简而言之,IMBlocker 拥有近乎完全精准的焦点管理策略,正确的焦点状态是能够正确设置输入法状态的必要条件。同时,本模组还提供多种原版不便实现的可定制选项以及大规模第三方组件的兼容性。
重要信息:从 26.3 开始,所有大型整合包玩家无论使用何种语言都可能需要安装此模组,因为 SDL 禁用输入法的实现会阻止所有字符的输入,这些自定义界面的模组中的文本组件会因为原版无法识别其焦点而无法通知 SDL 启用输入。若您是此类模组的开发者,我们推荐在检测到 IMBlocker 不 存在时仅在文本组件焦点发生变化时调用基本的 SDL_StartTextInput 和 SDL_StopTextInput 函数,更多技术支持请在 Github 上与我们联系。


