Skip to content

Conversation

@FlorianMichael
Copy link

In our plugin, I need to cancel a channel sent by Fabric's Particle API in order to prevent a confliction between Fabric API and our packet transformers. This patch allows me to intercept the register/unregister payloads and remove the channel.

I'm not familiar with the internals, so I wasn't sure where to put this best (as putting it into the registrar directly would probably introduce destructive API changes)

This patch is required for the top header commit on this tree: https://github.com/ViaVersion/ViaVersion/tree/next/fabric-particle-workaround

…und configuration plugin message packet event

In our plugin, I need to cancel a channel sent by Fabric's Particle API in order to prevent a confliction between Fabric API and our packet transformers. This patch allows me to intercept the register/unregister payloads and remove the channel.

I'm not familiar with the internals, so I wasn't sure where to put this best (as putting it into the registrar directly would probably introduce destructive API changes)

This patch is required for the top header commit on this tree: https://github.com/ViaVersion/ViaVersion/tree/next/fabric-particle-workaround

Signed-off-by: FlorianMichael <[email protected]>
@FlorianMichael FlorianMichael force-pushed the fix/dont-cancel-register-payloads branch from 549148f to a4feb28 Compare January 12, 2026 20:07
@FlorianMichael FlorianMichael changed the title Pass minecraft:register and minecraft:unregister through the serverbound configuration plugin message packet Pass minecraft:register and minecraft:unregister through the serverbound configuration plugin message packet event Jan 12, 2026
@FlorianMichael FlorianMichael changed the title Pass minecraft:register and minecraft:unregister through the serverbound configuration plugin message packet event Pass register plugin messages through the serverbound configuration plugin message packet event Jan 12, 2026
Small cleanup

Signed-off-by: FlorianMichael <[email protected]>
@FlorianMichael FlorianMichael force-pushed the fix/dont-cancel-register-payloads branch from 34a9940 to 049ec90 Compare January 12, 2026 20:11
@electronicboy
Copy link
Member

Velocity not exposing channels which are handled internally is intentional, I get the desire here, but I feel that this opens up a door I'd rather not

@FlorianMichael
Copy link
Author

It's not handled in the configuration state at all, without my patch Velocity will just cancel/forward the packet to the server. I in general don't get the purpose of the protocol / why it still exists, as it makes things just more complicated and doesn't offer any benefits. Is there any other way I can edit the packet with internals/raw API?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants