- Replace old broken RegistryEntryHolderSetDecoder with correct varint
discriminator: id != 0 returns raw ID, id == 0 decodes string base
- Add RegistryEntryHolderSetEncoder using type switch (string/int32)
- Add NonErroringIndex to proto_base (zero-fallback index lookup)
- DeclareRecipes now fails with index not found (mapper) instead of to do
- Implement topBitSetTerminatedArray decoder/encoder with MSB continuation
- Fix nbt.Tag.Decode to handle TAG_End at root level (fixes 1.8 slot NBT)
- Remove 228 now-passing decode failure tests, keep 10 still failing
- EntityEquipment now works correctly across all versions
Generator fixes resolved most decode failures. 200 tests removed
(packets now decode correctly), 38 still test known failures.
Also fixed bytes.NewBuffer->bytes.NewReader and malformed format
strings in remaining old tests.
- Fix SaveUnCodeAbleAsTest using wrong package name (1.8.9 vs v1_8)
- Fix test template using bytes.Buffer instead of bytes.NewReader
- Tests now fail when decode SUCCEEDS (bug is fixed)
- Add config state support to raw_to_tmcpr with -config flag
- Fix mca_to_tmcpr -world flag being ignored
- Add -config flag and Configuration state support to raw_to_tmcpr
(required for Minecraft 1.20.2+ protocol >= 764)
- Add 'config' as valid initial state option
- Fix mca_to_tmcpr -world flag being ignored (was hardcoded dev path)
- Add TMCPR replay test data from live 1.8 capture
- Fix data race: use atomic.Bool for running in server.go
- Fix busy loop in timer.go: use time.After when idle
- Fix division by zero in print_replay
- Fix silently swallowed errors in proto_generator
- Fix suppressed error in native_encoder
- Delete unused registry_data_hunter
- Delete raw_capture subcommand (use tcpflow + raw-to-tmcpr instead)
- Fix DefaultEncoder to use temp variable for non-addressable value encoding,
eliminating manual post-generation patches
- Map nbt and optionalNbt types to nbt.Tag (named NBT) instead of nbt.Anon
(anonymous NBT) — 1.8 uses named NBT with root tag names