I think it could be amazing if Spigot could have some sort of API to help packet plugins inject into the channel pipelines as soon as they are created. Right now every packet plugin has to use some very hacky reflection and every plugin uses a different approach, forcing us to add compatibility for each other. It’s getting painful, and could be that we need to adjust our injectors after some minecraft updates. I recently read your statement on your Spigot 9 year anniversary (Great work btw), you mentioned plugin owners should use the API if possible or suggest one to avoid breakages on updates. I think this idea could help in that direction too. I believe this could help plugins such as ProtocolLib, ViaVersion, ProtocolSupport, and my own project clean up our own injectors.
I could attempt a PR at something like this, I wanted to see md_5’s opinion first, and could use some mentoring on how to design such a feature of the API. Would be amazing if we could push this out before the first stable 1.18 Spigot jar releases.