Skip to content
InputBooster
Configuration ReferenceBehaviour

Validation

Exactly what the mod does with a value it cannot parse, which keys are checked, and which are silently reset.

4 min readInputBooster 4.1.2-alphaMinecraft 26.2 / 26.3

A broken config value costs you that one setting and nothing else. This page lists which keys are checked, which are not, and what the log says when something is reset.

The load order

Reset to the documented defaults

Every field is set back to its default before the file is read. Nothing survives from the previous session unless the file says so.

Read the file

The file is parsed as a Java properties file. A file that does not exist causes the defaults to be written out instead.

Migrate

If the schema version is older than 305, three legacy keys are renamed and the version is updated.

Apply and clamp

Each key is parsed and clamped into its allowed range.

Report

Keys that could not be used are collected and named in one warning line.

Booleans

Seven spellings are accepted, in any case:

true, yes, 1, on are true. false, no, 0, off are false.

Anything else falls back to the default. The comparison trims surrounding whitespace first, so true is valid.

Numbers

An integer that cannot be parsed falls back to the default. A parsed value outside the allowed range is clamped:

KeyBelow rangeAbove range
poll_rate_hz601000
max_cps120
overlay_position03
fps_check_interval1100
engine_mode02
mouse_scroll_debounce_ms0200
mouse_click_dedupe_ms0100
overlay_mode01
overlay_scale0.53.0
overlay_opacity0.01.0
click_sound_pitch0.52.0
click_sound_volume0.01.0

The same clamping happens when a value is set through the settings screen, so a value in the file and a value in the UI cannot produce different runtime states.

The warning line

text
Config entries reset to defaults (invalid or unparsable): poll_rate_hz=2000, combo_keys=maybe

A boolean is listed by name. A number is listed as key=value so you can see what was actually in the file.

Which keys are checked

These keys are validated and reported when they are bad:

Booleans: poll_rate_auto, sprint_fix, auto_sprint, wtap_assist, anti_idle, auto_strafe, cps_limiter, burst_mode, combo_keys, custom_keyboard_handler, keyboard_repeat_guard, compat_fallback, overlay_show_engine, overlay_show_events, overlay_show_overhead.

Numbers: engine_mode, mouse_scroll_debounce_ms, mouse_click_dedupe_ms, overlay_mode, poll_rate_hz, max_cps, overlay_position, fps_check_interval.

Which keys are not checked

These are not in the validation list. A bad value in one of them still falls back to the default, but it is not named in the warning line:

click_sounds, click_sound_pitch, click_sound_volume, replay_enabled, safe_mode, event_log, key_conflict_warn, per_server_profiles, show_f3_info, show_keystrokes, show_action_bar, debug_mode, cps_mode, config_version.

Strings

cps_mode is upper-cased with Locale.ROOT and stored. It is never checked against the four known names, so a typo produces a value that behaves like FIXED — the default arm of the switch — while the file says something else.

Migration

Older schemas are migrated in place. The migration renames three keys:

Legacy keyCurrent key
auto_sprint_keyauto_sprint
watapwtap_assist
pollratepoll_rate_hz

A rename only happens when the current key is absent, so a file that already has the new key keeps its own value.

What a broken file cannot do

SituationResult
The file does not existDefaults are written out
The file is not readableA warning is logged and the defaults are used
A value is unparsableThat key is reset, the rest of the file is applied
A value is out of rangeIt is clamped into range
A key is missingThe default is used for it

There is no state in which a bad config file prevents the game from starting.