Skip to content

proposal: introduce a better architecture to handle multiversion #802

@smartcmd

Description

@smartcmd

We need a better architecture to handle multiversion stuff, and since now most of the network operations are go through Player/AllayPlayer, we can just use a inherit chain as the following:

  • AllayPlayer: the base class, which is used for the latest version client.
  • AllayPlayer_v860 -> AllayPlayer: used for 1.21.120 client.
  • ...
  • AllayPlayer_v766_NetEase ->AllayPlayer_v766

Or instead of modifying AllayPlayer, we can introduce a new MultiversionHelper class just like the BedrockCodecHelper in the protocol library.

There should also be changes to the current PacketProcessor system, to introduce different packet processor for different protocol version.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ProposalSome important decisions

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions