All Mods Resource Packs Data Packs Shaders Modpacks Plugins
inputbooster

inputbooster

by Unknown • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

InputBooster

InputBooster is a client-side Fabric mod that improves input handling when Minecraft is running at low FPS or experiencing short stutters.

When Minecraft is under load, quick clicks or key presses can sometimes be missed. InputBooster checks inputs more frequently and can temporarily buffer some inputs so they can be handled on the next valid game tick.

Features

  • Higher-frequency input polling
  • Short input buffering
  • Input recovery during short FPS drops
  • Duplicate hit protection
  • CPS limiter
  • Sprint and W-tap assistance
  • Auto-strafe and movement helpers
  • Optional input replay recording and playback
  • Per-server profiles
  • In-game input statistics
  • Safe mode
  • Custom keybinds

The mod is client-side and does not require anything on the server.

Requirements

  • Minecraft: 1.21.x / 26.1.x
  • Fabric Loader: 0.16.0+
  • Fabric API
  • Java 21+

Installation

Install Fabric Loader and Fabric API for your Minecraft version, then put the InputBooster .jar file into your mods folder.

If you find a bug or compatibility problem, please report it on GitHub with your Minecraft version, Fabric Loader version, InputBooster version, and any relevant logs.

InputBooster is developed and maintained by Ahaduzzaman Khan.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3
Fabric
20d ago 1
26.3
Fabric
21d ago 1
26.2
Fabric
21d ago 1
26.2
Fabric
21d ago 1
26.1.x
Fabric Quilt
5mo ago 1
26.1.x
Neoforge
5mo ago 1
1.21.11
Neoforge
5mo ago 1
1.21.11
Fabric
5mo ago 1
1.21.11
Fabric
5mo ago 1
26.1.x
Fabric
5mo ago 1
1.21.11
Fabric
5mo ago 1
26.1.x
Fabric
5mo ago 1
1.21.11
Fabric
5mo ago 1
1.21.11
Fabric
5mo ago 1
1.21.x
Fabric
7mo ago 1
26.1.x
Fabric
7mo ago 1
1.21.x
Fabric
7mo ago 1
1.21.x
Fabric
7mo ago 1
fix some known bugs and add optimization features
Two of our classes broke a Mixin rule:

The helper that calls the accessor mixins (MixinAccess) was inside the
package declared by inputbooster.mixins.json. Mixin never loads anything
from a mixin package unless it is a mixin itself.
The three accessor mixins (GuiAccessor, KeyMappingAccessor,
MinecraftClientAccessor) were declared as abstract classes. Mixin only
treats a mixin as a loadable accessor when it is an interface, so the
class form could never have been called either. The
Could not read every key binding; using vanilla defaults for the rest
warning you saw at startup was this same failure, already swallowed.
What we changed
MixinAccess moved to dev.inputbooster.access.
The three accessors are now interfaces, which is the form Fabric API itself
ships (KeyMappingHelper and ScreenAccessor work the same way).
A swallowed failure in the key-binding reader is now logged with its cause
instead of being reduced to a silent fallback.
New tests fail the build if a non-mixin class is added to the mixin package,
if a runtime-called accessor is not a loadable interface, or if any class
outside the mixin package references one that Mixin cannot load.
The corner HUD fix from 3.1.6 is included and now works.
Two of our classes broke a Mixin rule:

The helper that calls the accessor mixins (MixinAccess) was inside the
package declared by inputbooster.mixins.json. Mixin never loads anything
from a mixin package unless it is a mixin itself.
The three accessor mixins (GuiAccessor, KeyMappingAccessor,
MinecraftClientAccessor) were declared as abstract classes. Mixin only
treats a mixin as a loadable accessor when it is an interface, so the
class form could never have been called either. The
Could not read every key binding; using vanilla defaults for the rest
warning you saw at startup was this same failure, already swallowed.
What we changed
MixinAccess moved to dev.inputbooster.access.
The three accessors are now interfaces, which is the form Fabric API itself
ships (KeyMappingHelper and ScreenAccessor work the same way).
A swallowed failure in the key-binding reader is now logged with its cause
instead of being reduced to a silent fallback.
New tests fail the build if a non-mixin class is added to the mixin package,
if a runtime-called accessor is not a loadable interface, or if any class
outside the mixin package references one that Mixin cannot load.
The corner HUD fix from 3.1.6 is included and now works.
Fixed
CRITICAL - the client crashed on startup. Moving the accessor mixins from
interfaces to classes (3.1.4) was not enough: Mixin merges every member of a
class-form mixin into the target, so the public static helper methods added
in 3.1.4 aborted the game with "contains non-private static method". The
helpers now live in MixinAccess, a plain utility class, and each mixin holds
nothing but its accessor or invoker.
Accessor mixins are now minimal by contract. MixinDeclarationTest
additionally fails the build if a mixin declares a static method or a
non-private constructor. Verified to fail when a static helper is put back.
Changed
One branch per Minecraft version. fabric-26.2 builds only 26.2 and
fabric-26.3 only 26.3; each pins minecraft_version, the dependency range
and the Fabric API version in fabric/gradle.properties, so no build-time
overrides are needed.
NeoForge is paused. The CI job is gone; the NeoForge sources stay in the
repository but are not built or released until they are ported separately.
All 3.1.0 - 3.1.4 releases are marked as prereleases, because each of them
shipped a jar that could not start the game.
docs/MINECRAFT_VERSION_COMPATIBILITY.md documents every 26.2 / 26.3 API
difference the mod touches and the mixin rules above, with the verification
method.
# InputBooster 3.0.3nf-mc261

  • Minecraft 26.1 | NeoForge 26.1.0.1-beta**

This is the first release of InputBooster targeting Minecraft 26.1, ported from the 1.21.11 NeoForge beta.


## What's New

### Overlay
The HUD overlay has been stripped down to a single clean readout:
  • Shows current poll rate in Hz (e.g. 200 Hz)
  • Shows 1000 Hz ⚡ during burst mode
  • Background resizes dynamically as the value changes
  • Click sounds are now **off by default** — enable in the Features tab if desired


## Changes

### Build
  • Updated to **Minecraft 26.1** and **NeoForge 26.1.0.1-beta**
  • Now requires **Java 25**

### Bug Fixes & Porting
  • Fixed crash on load caused by invalid NeoForge.EVENT_BUS.register(this) call
  • Fixed MinecraftClientAccessor mixin crash — pick-block no longer relies on a private method invoker that broke after Mojang removed obfuscation in 26.1
  • Fixed all rendering calls broken by the GuiGraphics → GuiGraphicsExtractor rename
  • Fixed displayClientMessage removal — action bar messages now use gui.setOverlayMessage
  • Fixed KeyMapping.click() requiring a Key argument in 26.1
  • Fixed Screen#render → Screen#extractRenderState rename


## Requirements
| | |
|---|---|
| Minecraft | 26.1.x |
| NeoForge | 26.1.0.1-beta or newer |
| Java | 25 |
| Side | Client only |


## Notes
  • NeoForge 26.1 is still in **beta** — breaking changes may occur in future builds
  • If upgrading from 1.21.x, delete your old inputbooster.properties config to pick up the new defaults
Maked for neoforge.
add sound system press h to enable. (but it is in beta)
# Changelog

## 3.0.1-mc26 - Minecraft 26.1.x

This update focuses on making InputBooster feel more complete for everyday players while keeping the mod stable during combat and low-FPS gameplay.

### Added

  • Module system for combat, movement, debug, profiles, anti-idle, and replay features.
  • Per-server profile backend so settings can switch automatically for different servers.
  • Input replay tools:
  • R starts or stops replay recording.
  • K plays the recorded replay.
  • Advanced CPS limiter modes:
  • FIXED
  • HUMANIZED
  • COOLDOWN
  • WEAPON_AWARE
  • Safe mode that disables active modules after repeated internal errors.
  • Keybind conflict detection with event-log reporting.
  • Event log backend for recent InputBooster activity.
  • Config tools for presets, import, and export.
  • Overlay lines for modules, replay status, safe mode, and latest debug event.

### Changed

  • Updated mod version to 3.0.1-mc26.
  • Profile saves now include the new CPS mode, replay, safe mode, event log, keybind warning, and per-server profile settings.
  • CPS limiter now uses the selected CPS mode instead of only a fixed cap.

### Fixed

  • Prevented queued mod attacks from firing while InputBooster is inactive or not initialized.
  • Prevented stale queued inputs from firing later after the mod is toggled back on.
  • Reduced the chance of one physical click causing both a mod entity attack and a vanilla entity attack.

### Build

  • New jar: build/libs/inputbooster-3.0.1-mc26.jar
[3.0.1] inputbooster 3.0.1 by Unknown on May 24, 2026
Download
# Changelog

## 3.0.1 - Minecraft 1.21.11

This update focuses on making InputBooster feel more complete for everyday players while keeping the mod stable during combat and low-FPS gameplay.

### Added

  • Module system for combat, movement, debug, profiles, anti-idle, and replay features.
  • Per-server profile backend so settings can switch automatically for different servers.
  • Input replay tools:
  • R starts or stops replay recording.
  • K plays the recorded replay.
  • Advanced CPS limiter modes:
  • FIXED
  • HUMANIZED
  • COOLDOWN
  • WEAPON_AWARE
  • Safe mode that disables active modules after repeated internal errors.
  • Keybind conflict detection with event-log reporting.
  • Event log backend for recent InputBooster activity.
  • Config tools for presets, import, and export.
  • Overlay lines for modules, replay status, safe mode, and latest debug event.

### Changed

  • Updated mod version to 3.0.1.
  • Profile saves now include the new CPS mode, replay, safe mode, event log, keybind warning, and per-server profile settings.
  • CPS limiter now uses the selected CPS mode instead of only a fixed cap.

### Fixed

  • Prevented queued mod attacks from firing while InputBooster is inactive or not initialized.
  • Prevented stale queued inputs from firing later after the mod is toggled back on.
  • Reduced the chance of one physical click causing both a mod entity attack and a vanilla entity attack.

### Build

  • New jar: build/libs/inputbooster-3.0.1.jar

same as 1.21.11 mod but add compability of mc 26.x
[3.0.0] inputbooster 3.0.0 by Unknown on May 23, 2026
Download
### 🎉 Major Release

This is the first public release of InputBooster 3.0.0, built for **Minecraft 1.21.11** with **Fabric Loader 0.19.2**.


### 🐛 Fixed

#### Critical Crash Fixes

  • Startup mixin crash — CallbackInfoReturnable is required**
In MC 1.21.11, MinecraftClient.doAttack() was changed from void to boolean. Mixin's @Inject on a non-void method requires CallbackInfoReturnable<Boolean> instead of plain CallbackInfo. The onDoAttack handler in GameTickMixin was using CallbackInfo, causing a fatal mixin apply error that crashed the game on launch. Fixed by switching to CallbackInfoReturnable<Boolean> and replacing ci.cancel() with cir.setReturnValue(false).
  • Settings screen crash — Can only blur once per frame**
MC 1.21.11 already triggers a background blur before delegating to a screen's render() method. The old code called renderBackground() manually at the top of InputBoosterScreen.render(), firing the blur shader twice in the same frame and crashing. Removed the manual call; super.render() handles it correctly.
  • Matrix stack compile errors (push / pop / scale not found)**
ctx.getMatrices() in MC 1.21.11 returns JOML's raw Matrix3x2fStack, which has no push(), pop(), or three-argument scale(). Attempts to cast it to net.minecraft.client.util.math.MatrixStack also failed at runtime. Removed matrix stack scaling entirely; overlay size and line spacing are now computed directly from the scale factor in pixel coordinates.
#### Gameplay Fixes

  • Double block break on a single click**
One left-click was destroying two blocks instead of one. Root cause: InputDrainer.apply() called attackBlock() for block targets while vanilla's handleBlockBreaking() loop was already calling attackBlock() every tick the button was held — two calls per tick. Fixed by removing the attackBlock() call from the drainer for block targets entirely. Block breaking is now driven exclusively by vanilla's continuous held-key loop. Entity hits remain one-shot events and are still fired from the drainer with attackHandledThisTick = true to suppress vanilla's duplicate.
  • CPS always showing 0**
After the double-block-break fix moved recordClick() into the entity-only branch, block clicks were no longer counted toward CPS. Moved recordClick() up to drainAll() so it fires for every accepted ATTACK_PRESSED event regardless of target type.
  • P key can't re-enable mod / O key stops working when mod is off**
onClientTick had if (!active || !initialized.get()) return at the very top, which meant once P toggled the mod off the entire tick method exited before handleKeybinds() was ever reached. Both P and O became dead keys until the game was restarted. Fixed by moving the handleKeybinds() call before the active guard so both keys always work.
#### HUD / Overlay Fixes

  • Overlay visible during F3 screen**
The HUD panel rendered on top of F3, making both unreadable. The overlay now checks mc.getDebugHud().shouldShowDebugHud() and returns early, hiding automatically when F3 is open and reappearing when it closes.

### ✨ Added

#### HUD Overlay
  • Always-on HUD panel** — renders on the game screen at all times, not only when F3 is open. Automatically hides when F3 is active to avoid clutter.
  • Configurable corner position** — cycle through Top-Left, Top-Right, Bottom-Left, Bottom-Right from the Advanced settings tab.
  • Configurable scale** — slider from 0.5× to 3.0× in the Advanced settings tab.
  • Semi-transparent background box** — drawn behind all overlay lines for readability against any terrain.
#### Settings Screen (O key)
  • Full tabbed GUI with five tabs: Poll Rate, Features, Advanced, Stats, Profiles.
  • Poll Rate tab** — AUTO/MANUAL mode toggle, poll rate slider (60–1000 Hz), six quick-preset buttons (100 / 200 / 350 / 500 / 750 / 1000 Hz), Burst Mode toggle, Combo Keys toggle.
  • Features tab** — toggles for Sprint Fix, Auto-Sprint, W-Tap Assist, Anti-Idle, Auto-Strafe, CPS Limiter, and a Max CPS slider.
  • Advanced tab** — HUD Overlay on/off, Overlay Position cycler, Overlay Scale slider, Action Bar Messages toggle, Debug Mode toggle, FPS Check Interval slider.
  • Stats tab** — session uptime, recovered inputs, estimated missed inputs, latency info, poll thread status, 60-second CPS sparkline graph.
  • Profiles tab** — save and load up to 5 named presets (PvP, Mining, Idle, Hybrid, Custom).
#### Core Features
  • Adaptive Burst Mode** — automatically spikes poll rate to 1000 Hz for 3 seconds when FPS drops more than 20% in one second, then returns to the configured rate.
  • Session Stats tracker** — records session uptime, total recovered inputs, estimated missed inputs without the mod, and a rolling CPS history.
  • Config Profiles** — save and load named configuration snapshots from the in-game screen.
  • Latency Profiler** — tracks per-drain latency with rolling average and peak value, displayed in the HUD overlay.
  • CPS Limiter** — configurable cap (1–20 CPS, default 20) with real-time display in the overlay.
#### Config File
  • New keys: overlay_position (integer 0–3, default 0 = Top-Left) and overlay_scale (float 0.5–3.0, default 1.0).

### 🔧 Changed

  • HUD is now always-on** instead of F3-only. Toggle it via the Advanced tab in settings (O key).
  • "F3 Overlay Info" setting renamed to "HUD Overlay"** to accurately describe its function.
  • Poll rate range expanded from [100, 500] Hz to [60, 1000] Hz.
  • onDoAttack mixin now uses CallbackInfoReturnable<Boolean> and setReturnValue(false) instead of CallbackInfo and cancel().
  • handleKeybinds() now runs before the active guard in the tick loop.

### 🗑️ Removed

  • "Double-hit fix: ON"** line removed from the HUD overlay — the fix is always active and the line was noise.
  • Manual renderBackground() call removed from InputBoosterScreen.render().
  • Matrix stack push/pop/scale calls removed from DebugOverlayManager (incompatible with MC 1.21.11 API).

## [2.0.2] - 2026-03-30

### 🐛 Fixed
  • "Not Responding" on MC 1.21.11+** — polling thread now checks for interruption and logs errors instead of silently failing.
  • CPS never recorded** — CpsLimiter.recordClick() was never called from InputDrainer. Fixed.
  • Silent polling errors** — changed error handling from silent to WARN-level logging.
  • Null dereference** — added null checks in InputDrainer and GameTickMixin.
  • WTapAssist silent failure** — added try-catch around onWRelease() so feature errors don't block the drain loop.
  • Sleep efficiency** — polling thread sleep changed to millisecond precision for better CPU and battery usage.
### ✨ Added
  • Colorful F3 display with status-based color coding (red / yellow / green / gray).
  • Visual status indicators (✓ / ✗) for enabled/disabled features in F3.

## [2.0.1] - 2026-03-29

### 🐛 Fixed
  • Double input drain** — InputDrainer.drainAll() was called twice per tick. Removed redundant drain.
  • AtomicLong race condition** — totalHits and recoveredInputs were volatile long incremented with ++ from multiple threads. Replaced with AtomicLong.
  • WTapAssist dead code** — FORWARD_RELEASED events were queued but never handled in InputDrainer. Wired up.
  • Unsafe MC reads from polling thread** — introduced gameReady / gamePaused volatile flags; polling thread reads flags instead of MC objects directly.
  • O(n) queue size** — ConcurrentLinkedQueue.size() replaced with AtomicInteger for O(1) tracking.
  • Poll rate bounds mismatch** — internal clamp unified with documented range.

## [2.0.0] - 2026-03-27

### 🎉 First Public Release — Complete Rewrite

Internal v1.0 was never released due to memory leaks, Sodium/Iris crashes, config corruption, and thread-safety issues. v2.0 is a ground-up rewrite.

### ✨ Added
  • Dynamic FPS-aware poll rate (100–500 Hz auto-scaling).
  • F3 debug screen integration (poll rate, FPS, recovered inputs, CPS, feature states).
  • Real-time CPS tracker with sliding-window algorithm.
  • Auto-Strafe correction for diagonal movement at low FPS.
  • Anti-Idle protection against AFK kicks during lag spikes.
  • Lock-free concurrent input queue.
  • Mixin-based event interception compatible with Sodium, Iris, Lithium.
  • Graceful thread lifecycle (clean startup and shutdown hooks).
  • Properties-file config with validation, bounds checking, and auto-creation.
### 🗑️ Removed (vs internal v1.0)
  • HUD overlay system — replaced with F3 integration.
  • Experimental / unstable features.
  • MC 1.19–1.20 legacy compatibility modes.
  • Built-in macro system.
[3.0.0] inputbooster 3.0.0 by Unknown on May 23, 2026
Download
# Changelog

All notable changes to InputBooster will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


## [3.0.0] - 2026-05-23

### 🎉 Major Release — Minecraft 1.21.11 Full Port

This release is a complete port and overhaul targeting **Minecraft 1.21.11** with **Fabric Loader 0.19.2** and **Fabric API 0.141.3**. All known bugs from 2.x have been resolved and several new features have been added.


### 🔧 Build System

  • Upgraded fabric-loom** from legacy version to 1.14.10 — the latest stable release supporting MC 1.21.11
  • Fixed Gradle plugin resolution** — added resolutionStrategy in settings.gradle to correctly resolve fabric-loom from Fabric Maven (https://maven.fabricmc.net/)
  • Gradle wrapper** pinned to 9.5.1 for compatibility with loom 1.14.10
  • Java toolchain** set to Java 21 (required for MC 1.21.11)

### 🐛 Fixed

#### Compilation Errors (MC 1.21.11 API Changes)

  • KeyBinding category API breaking change:** KeyBinding constructor no longer accepts a raw String for the category parameter. Updated both keybindings (key.inputbooster.options, key.inputbooster.toggle) from "key.categories.misc" → KeyBinding.Category.MISC to match the new record-based category system introduced in 1.21.9+
  • DrawContext.drawBorder() removed:** Method no longer exists in 1.21.11. Replaced with four explicit drawHorizontalLine / drawVerticalLine calls to draw the CPS graph border in InputBoosterScreen
#### Runtime Bugs

  • Black overlay covering the screen:** DebugOverlayManager was calling ctx.fill() to draw a semi-transparent black background (0x8B000000) behind each HUD text line. In 1.21.11, DrawContext.fill() renders without proper alpha blending, producing a solid black stripe across the entire screen. Removed the background fill and enabled text shadow (drawText(..., true)) for readability instead
  • "Burst Mode ended" message looping on screen:** BurstModeManager sent the action bar message inside the tick loop without a sent-flag guard, causing it to fire every tick rather than once. Fixed with an endMsgSent boolean flag that prevents the message from repeating
  • Burst Mode triggering immediately on game load:** lastFps was initialized to -1, causing a massive artificial FPS drop on the very first tick which immediately triggered burst mode. Fixed by initializing lastFps to 0 and only comparing when FPS is stable (> 10)
  • lastFps updated with invalid zero FPS values:** FPS reads of 0 during early load were being stored as lastFps, corrupting future drop calculations. Fixed by only updating lastFps when fps > 0

### ✨ Added

  • BurstModeManager — endMsgSent flag:** Ensures the "Burst Mode ended" action bar message is shown exactly once per burst cycle
  • ProfileManager system:** Saves and loads named poll rate profiles, allowing players to switch between preset configurations
  • SessionStats tracker:** Tracks per-session statistics including total hits, recovered inputs, average CPS, and session duration
  • LatencyProfiler:** Measures and reports input-to-frame latency in the HUD overlay and F3 debug screen
  • In-game config screen (InputBoosterScreen):** Full GUI screen accessible via keybind (default O) for toggling all features and adjusting poll rate without restarting
  • Combo key presets (Ctrl+1 through Ctrl+5):** Instantly switches poll rate to 100 / 200 / 350 / 500 / 1000 Hz in-game
  • Burst Mode (BurstModeManager):** Automatically spikes poll rate to 1000 Hz for 3 seconds when FPS drops more than 20% in a single second, ensuring zero inputs are lost during lag spikes
  • CPS graph in settings screen:** Visual bar chart of recent CPS history with color-coded bars (green / yellow / red based on proximity to the CPS cap)
  • Action bar notifications:** Optional in-game messages for burst mode activation/deactivation and poll rate changes via combo keys

### 🔄 Changed

  • HUD overlay background** replaced from opaque ctx.fill() box → text shadow for clean rendering on all GPU/driver combinations
  • Poll rate auto mode** now uses a 5-tier FPS threshold system (≤20 FPS → 500 Hz, ≤30 → 400 Hz, ≤60 → 200 Hz, ≤120 → 150 Hz, 120+ → 100 Hz)
  • Config file** expanded with new keys: burstModeEnabled, showActionBar, comboKeysEnabled, maxCps, debugMode
  • Mod version** bumped to 3.0.0 across all metadata files

### 🗑️ Removed

  • ctx.fill() background behind HUD lines** — caused black overlay bug on 1.21.11
  • String-based KeyBinding category** — replaced with typed KeyBinding.Category record
  • DrawContext.drawBorder() call** — method removed from MC 1.21.11 API
## \[2.0.4] - 2026-04-05

### 🚀 Port — Minecraft 26.1.1 "Tiny Takeover"

This release ports InputBooster to **Minecraft 26.1.1**, the April 2026 "Tiny Takeover" hotfix drop (protocol 775, data version 4788). It is the first fully unobfuscated Minecraft release. No gameplay or feature changes were made — this is a pure compatibility update.

### 🔧 Changed

  • Minecraft target:** 1.21.1 → 26.1.1 (also supports 26.1 base drop)
  • Java toolchain:** 21 → 25 (required by MC 26.1.x)
  • Mappings:** Yarn → Official Mojang mappings (no Yarn for 26.1.x yet)
  • Fabric API:** Updated to 0.145.3+26.1.1
  • fabric-loader:** Updated to 0.18.6
  • Gradle wrapper:** 8.8 → 9.4.1 (fabric-loom 1.15-SNAPSHOT requires ≥ 9.4.1)
  • Mod version string:** 2.0.4-26.1.1 (encodes both mod version and MC target)
  • F3 integration:** in 2.0.4-26.1.1 we removed **F3 integration** For some technical reason it will fixed in next update.
### 🐛 Fixed

  • Build failure:** gradle build was failing with *"Plugin net.fabricmc:fabric-loom:1.9-SNAPSHOT requires at least Gradle 8.11. This build uses Gradle 8.8."* Resolved by upgrading gradle/wrapper/gradle-wrapper.properties to Gradle 8.11.

### 📝 Notes

  • 26.1 (data version 4786) and 26.1.1 (data version 4788) are both supported. To target the base 26.1 drop, change 26.1.1 → 26.1 in build.gradle dependencies and fabric-api suffix accordingly.
  • Yarn mappings for 26.1.x do not yet exist. When they become available, the project can optionally switch from loom.officialMojangMappings().


## [2.0.3] - 2026-04-04

### 🐛 Fixed

#### Critical — "Not Responding" on MC 1.21.11 (Root Cause)

  • DebugHudMixin crash on startup:** The @Inject in DebugHudMixin targeted the intermediary method name method_1835 (getLeftText), which was remapped in MC 1.21.11. With the default require=1, a failed injection throws InvalidInjectionException, crashing the render thread and leaving a blank white "Not Responding" window. Fixed by adding require=0 so the injection silently skips if the target method is not found in the current MC version.
  • defaultRequire: 1 in mixin config:** inputbooster.mixins.json had "defaultRequire": 1, making every mixin injection fatal if unresolved. Changed to "defaultRequire": 0 as a global safety net.

#### Thread Safety — Polling Thread Reading MC State Directly

  • Unsafe MC options reads from background thread (critical):** InputPollingThread.poll() was calling MinecraftClient.getInstance() and reading mc.options.attackKey.isPressed() and all other key bindings directly from the background polling thread. Minecraft's KeyBinding objects are not thread-safe — concurrent reads from a non-main thread cause lock contention and can deadlock the game. Introduced KeySnapshot, a new immutable class that captures all key states on the main thread once per tick. The polling thread now reads exclusively from this snapshot.
  • WTapAssist race condition:** pendingWRelease and wReleaseTickDelay were plain boolean/int fields written by the polling thread via onWRelease() and read by the main thread in tick(). Without volatile, the main thread could see stale values. Both fields marked volatile.
  • CpsLimiter not thread-safe:** clickTimestamps was an ArrayDeque — not safe for concurrent access. Replaced with ConcurrentLinkedDeque.

### ✨ Added

  • KeySnapshot.java** — New immutable class capturing all key binding states on the main thread each tick, published as a volatile field on InputBoosterMod for the polling thread to read safely. Eliminates all direct MC object access from the background thread.

### 🔧 Changed

  • InputPollingThread no longer imports or references MinecraftClient or GameOptions.
  • InputBoosterMod now updates keySnapshot each tick alongside gameReady and gamePaused.
  • DebugHudMixin priority set to 900 and added null guard on cir.getReturnValue().
[2.0.0] inputbooster 2.0.0 by Unknown on Mar 27, 2026
Download
# InputBooster Changelog

## [2.0.0] – 2026-03-27 ✅ Released
  • Major Release – Complete Rewrite**
  • First public release; full rewrite from internal v1.0
  • FPS-aware dynamic input polling (100-500Hz)
  • F3 debug integration: shows poll rate, recovered inputs, CPS, and feature states
  • Auto-strafe correction, sprint-fix, W-tap assist, anti-idle protection
  • Lock-free input queue and Mixin-based event handling for stability
  • Config file simplified and modular; all features toggleable
  • Full compatibility with Fabric performance mods (Sodium, Iris, Lithium)
  • Fixed memory leaks, thread safety issues, config corruption
  • Removed HUD overlay, experimental features, legacy compatibility, and built-in macros

## [Unreleased] – Planned Features
  • Multi-language F3 display
  • In-game Mod Menu config
  • Performance profiling mode
  • Conflict detection with other input mods
inputbooster Icon
Download inputbooster
Select game version
Select platform