Cloud status has no codec for Minecraft 1.17 through 1.20.1
Original description
By MelanX · October 24, 2026Crate: ephervex-options (generated data) and tools/minecraft-options
Commit: f844b107
Behavior
The bundled dataset has a cloudStatus codec for 1.12.2 through 1.16.5 (unquoted enum_token true/fast/false) and from 1.20.2 (quoted enum_token), but none for 1.17 through 1.20.1. The setting is neither supported nor unsupported there, so it stays unknown.
- 1.17 through 1.18.2 (field access persistence): the analyzer records
renderCloudsascustom_codecwithfile_encoding"enum, codec unresolved". - 1.19 through 1.20.1 (OptionInstance definition): the codec xmap is reported with
transform_resolved: false.
The JARs still prove the token set statically. In 1.17 (root class dvs, enum dvc) the visitor call for renderClouds binds two synthetic lambdas through invokedynamic: a string switch comparing true, fast and false to the enum constants, and an ordinal switch returning true, fast or false. This is the same raw token set proven for 1.12.2 through 1.16.5.
Expected behavior
The analyzer follows the invokedynamic bootstrap to these synthetic methods, requires that the reader accepts every token the writer returns, and emits an enum_token codec for 1.17 through 1.20.1, with the quoting each release actually writes (to be checked for the OptionInstance releases 1.19 through 1.20.1). Without that proof the setting stays unknown.
Impact
Cloud status cannot be managed for 1.17 through 1.20.1. This is safe, but leaves a gap between 1.16.5 and 1.20.2.
Locations
tools/minecraft-options/analyze_options.pycustom codec visitor path,enum_string_lambda,token_bindingstools/minecraft-options/dataset.py_enum_codec
Validation and limitations
Checked against the committed minecraft-options.json: cloudStatus is absent from the supported settings of exactly 1.17 through 1.20.1. Related: #582 (1.12.2 through 1.13.2 token codec) and #607 (enum extraction).