Home›Java›Mods›InlineIME
InlineIME
ModsJava

InlineIME

by Gahaha · on Modrinth

Draws the text your IME is composing inside the text field itself, instead of the floating box vanilla shows next to it. 擺脫醜醜的聊天欄輸入框

⬇ Download on Modrinth
InlineIME — screenshot 1

InlineIME

English

Draws the text your IME is composing inside the text field itself, instead of the floating box vanilla shows next to it.

Where you see the text while typing is where it will actually land. Works with any IME — Microsoft Bopomofo, Chewing, Sogou, ASUS Smart Input, Japanese / Korean IMEs, and so on.

What it looks like

Vanilla:                          This mod:
┌────────────────────────┐        ┌────────────────────────┐
│ hello |                │        │ hello ㄋㄧˇㄏㄠˇ|      │
└────────────────────────┘        └────────────────────────┘
        ┌───────────┐                      ‾‾‾‾‾‾‾‾  ← underlined: not committed
        │ ㄋㄧˇㄏㄠˇ │  ← floating box
        └───────────┘

Requirements

Minecraft 26.2
Loader Fabric, Forge or NeoForge
Mod Menu Optional; only needed to open the settings screen on Fabric, the mod runs fine without it

This is a client side mod. It does not need to be installed on the server.

Where it works

Settings

Loader Opening the settings screen
Fabric Mod Menu's mod list → InlineIME → settings button
Forge Mods list → InlineIME → Config
NeoForge Mods list → InlineIME → Config

Changes made in the settings screen take effect immediately; the file is written when the screen closes.

You can also edit config/inlineime.json directly, in which case you need to restart the game:

Field Default What it does
enabled true Turn it off to go back to vanilla's floating box entirely
underline true Underline the composing text
underlineColor "inherit" Underline colour, #RRGGBB or inherit (follows the field's own text colour)
dimUnfocusedClauses true Dim the clauses that are not being converted (single line fields only)
unfocusedClauseColor "#AAAAAA" Colour of those clauses
focusedClauseColor "inherit" Colour of the clause being converted
highlightFocusedClause false Mark the clause being converted with the selection highlight
reportCaretRectToIme true Let the candidate window follow the composing text
liveValue true Make the field react while you are still composing (search, command suggestions…)
liveValueInAnvil false Whether the above also applies to the anvil
suggestWhileComposing true Open the command suggestion list while composing
commitAsciiPreeditOnTab true Pressing Tab while typing letters commits them, so Tab works again (see below)
forceImeInputMode false Only needed alongside a mod that takes over IME handling, such as IMBlocker (see below)
debugLog false Log every step a composition takes, for working out where a problem is

The colour fields only offer a handful of common colours in the settings screen, but the json accepts any #RRGGBB. A colour that is not in the screen's list is not wiped either — it simply shows up in that option's cycle.

Renaming in an anvil is not live by default, because it would keep sending rename packets to the server while you are still composing. Turn on liveValueInAnvil if you want it anyway.

Command suggestions and Tab

While you are composing, the keyboard belongs to the IME — Tab gets taken for cycling candidates and never reaches the game at all. So:

That last one currently only tested on Windows.

Turn commitAsciiPreeditOnTab off if you use a Pinyin IME. Pinyin is typed as plain letters, so with this on, pressing Tab midway through a word commits the raw Pinyin.

Using it with IMBlocker

InlineIME is compatible with IMBlocker: turn on forceImeInputMode, off by default and only needed for this case.

IMBlocker takes over the game's IME handling entirely, so without this option compositions never reach the game — there is nothing here to draw. Turning it on reroutes composition back to the text field, and IMBlocker's own pre-edit overlay steps aside so nothing is drawn twice. The one trade-off: IMBlocker's "Enable Ingame IME" (drawing candidates itself under exclusive fullscreen) no longer applies while composing.

把輸入法的組字文字直接畫在輸入框裡,而不是像原版那樣顯示在旁邊的浮動小框。

打字時看到的位置,就是字最後會落下的位置。任何輸入法都適用 —— 微軟注音、新酷音、搜狗、華碩智慧輸入法、 日文 / 韓文輸入法…

效果

原版:                            這個 mod:
┌────────────────────────┐        ┌────────────────────────┐
│ hello |                │        │ hello ㄋㄧˇㄏㄠˇ|      │
└────────────────────────┘        └────────────────────────┘
        ┌───────────┐                      ‾‾‾‾‾‾‾‾  ← 底線標示尚未送出
        │ ㄋㄧˇㄏㄠˇ │  ← 浮動小框
        └───────────┘

需求

Minecraft 26.2
載入器 Fabric、Forge 或 NeoForge
Mod Menu 選用;Fabric 上要開設定畫面才需要,沒裝一樣能玩

這是客戶端 mod,伺服器不用裝。

支援的畫面

設定

載入器 開啟設定畫面
Fabric Mod Menu 的 mod 清單 → InlineIME → 設定按鈕
Forge Mods 清單 → InlineIME → Config
NeoForge Mods 清單 → InlineIME → Config

設定畫面裡改的值會立刻生效,關掉畫面時才寫回檔案。

也可以直接編輯 config/inlineime.json,改完要重開遊戲:

欄位 預設 說明
enabled true 關掉就完全回到原版的浮動小框
underline true 在組字文字下方畫底線
underlineColor "inherit" 底線顏色,#RRGGBB 或 inherit(跟著輸入框文字顏色)
dimUnfocusedClauses true 把非焦點文節調暗(僅單行輸入框)
unfocusedClauseColor "#AAAAAA" 非焦點文節的顏色
focusedClauseColor "inherit" 焦點文節的顏色
highlightFocusedClause false 用反白(選取色)標示焦點文節
reportCaretRectToIme true 讓候選字視窗跟著組字文字走
liveValue true 組字期間輸入框就即時反應(搜尋、指令建議…)
liveValueInAnvil false 上面那項是否也套用到鐵砧
suggestWhileComposing true 組字期間自動顯示指令建議清單
commitAsciiPreeditOnTab true 打英文時按 Tab 直接送出,讓 Tab 恢復作用(見下)
forceImeInputMode false 只有在裝了 IMBlocker 這類接管輸入法的 mod 時才需要打開(見下)
debugLog false 把組字經過的每一段寫進 log,用來查問題出在哪

顏色欄位在設定畫面裡只提供常用的幾個顏色,但 json 可以填任意 #RRGGBB;填了畫面上沒有的顏色也不會被洗掉, 會直接出現在該選項的循環清單裡。

鐵砧改名預設不即時套用,因為那會在你還在組字的時候就不停對伺服器送出改名封包。想要的話把 liveValueInAnvil 打開。

指令建議與 Tab

組字的時候鍵盤是歸輸入法管的 —— Tab 會被拿去切候選字,遊戲根本收不到。所以:

最後這項目前只在 Windows 測試過。

拼音類輸入法請把 commitAsciiPreeditOnTab 關掉。 拼音打的本來就是英文字母,開著的話打到一半按 Tab 會直接送出原始拼音。

和 IMBlocker 一起用

InlineIME 和 IMBlocker 相容:打開 forceImeInputMode 就好,這個選項預設關閉,只有在這種情況下才需要用到。

IMBlocker 會把遊戲的輸入法處理整個接管過去,沒開這個選項的話組字內容根本進不了遊戲,這裡自然沒東西可畫。 打開後組字會改回交給輸入框處理,IMBlocker 自己那層組字浮層也會讓開,不會出現畫兩份的情況。唯一的代價是 IMBlocker 的「啟用遊戲內輸入法」(獨佔全螢幕時自己算繪候選字)在組字時不會再作用。

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more