4cf271a Use equals in legacy custom payload channel comparisons (#3721)
aa262bb Rename itemdata to be more generic
2480eb6 Start working on 24w09a
3c0930c Use existing ProtocolVersion#getProtocol when possible (#3720)
26a8e5f Fix enabled version sorting in DumpUtil (#3719)
caa6519 Fix leather armor rendering (#3713)
1e35c27 Fix particle doesn't use new mapping id (#3712)
cd5d88c Fix wrong join game packet handling (#3710)
7640342 Don't require a base protocol for current version in BaseProtocol (#3709)
4e1d4a7 Small refactors around ProtocolPipeline and concurrent collections Make concurrency handling in ProtocolPipelineImpl more defensive, as generally the pipeline is expected to never be called from multiple threads. The only case to look out for is pipeline additions during protocol transformation in a base protocol
343b403 Ensure ProtocolManagerImpl#registerBaseProtocol doesn't support VersionType#SPECIAL protocols (#3705)
78aecbd Don't add base protocols when using special versions (#3704)
a8fbb00 Add ProtocolManager#hasLoadedMappings
ff25cbd Add RedirectProtocolVersion API to common module (#3701)
e2a7e10 Add back default getProtocolPath with int versions
c7baa27 Some code cleanup (#3698)
3557837 Fix isWorkingPipe and cursed ProtocolVersion comparator
293427c Only pass ProtocolVersion#toString into via dumps (#3699)
08d8ccf Don't add ProtocolVersion#unknown into ProtocolVersion#VERSION_LIST (#3697)