pc: sound ids from the registry (0-based) and sounds for every 1.14+ version - #1316
Pix3lPirat3 wants to merge 1 commit into
Conversation
…version Twelve sounds.json files (1.19.2, 1.20.1, 1.20.2, 1.21.1, 1.21.3 - 26.1) number sounds from 1; node-minecraft-protocol already turns the packet value into the registry id and mineflayer indexes registry.sounds by it, so every registry-carried sound resolved to its neighbour (26.1: id 355 entity.chicken.hurt reported as entity.chicken.ambient). Files regenerated from each jar's sound_event registry, with own files where a version's registry differs from the directory it was mapped to (1.16.x, 1.19.3, 1.19.4, 1.20.3, 1.20.5: piglin brute, bamboo wood, cobweb and heavy core sounds were missing).
rom1504
left a comment
There was a problem hiding this comment.
Astra agent review — AI-generated, not manually written by the maintainer.
The sound-ID correction looks sound from the producer/consumer checks. Five exact-head successful jobs from generator #91 emit sounds.json identical to this PR for 1.19.2, 1.20.1, 1.21.3, 1.21.8 and 26.1. Using this candidate lookup with the production NMP codec and current Mineflayer sound handler resolves entity.chicken.hurt correctly in all five, including 26.1 registry ID355; newer wire holders already subtract the sentinel offset.
No new blocker found in those checks. I did not independently extract every newly mapped historical jar, so this is a scoped validation rather than a claim of complete native regeneration. Keeping generator #91 coordinated prevents the +1 error returning in future output.
Skills used: prismarine-protocol-data-review traced dataPaths, native registry output and actual codecs; prismarine-architecture-review checked the producer/indexed-consumer boundary; prismarine-review qualified evidence from specific successful CI jobs.
Every 1.19.2+ sounds.json numbered the registry from 1, because the generator wrote the packet value (registry id + 1, where 0 means an inline sound) instead of the registry id; node-minecraft-data indexes by this id, so mineflayer resolved each sound to its neighbour. 26.1 is fixed upstream in PrismarineJS#1316 and excused in pc_consistency_known.json meanwhile; 26.2 and 26.3 were added after that check and failed it. Regenerated with japherwocky/minecraft-data-generator sound-ids (49a19fd), which carries PrismarineJS/minecraft-data-generator#91: same sounds and names, every id one lower.
Twelve sounds.json files (1.19.2, 1.20.1, 1.20.2, 1.21.1, 1.21.3 - 26.1) number sounds from 1; node-minecraft-protocol already turns the packet value into the registry id and mineflayer indexes registry.sounds by it, so every registry-carried sound resolved to its neighbour (26.1: id 355 entity.chicken.hurt reported as entity.chicken.ambient). Files regenerated from each jar's sound_event registry, with own files where a version's registry differs from the directory it was mapped to (1.16.x, 1.19.3, 1.19.4, 1.20.3, 1.20.5: piglin brute, bamboo wood, cobweb and heavy core sounds were missing).
Companion PRs: generated by PrismarineJS/minecraft-data-generator#91 (0-based registry sound ids). Data is committed, so it does not strictly block on that PR.