py-mine / mcproto

Library providing easy low level interactions with minecraft protocol

Home Page:https://mcproto.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add Client and Server classes

ItsDrike opened this issue · comments

It can be pretty annoying to handle all of the communication manually, instead, there should be client and server classes, aware of the current game state they're in, holding a connection instance, knowing whether there is some compression threshold set for packet reading, etc.

These classes would then expose easy higher level abstractions for entire flows such as the login flow, or the status flow, internally performing the full login sequence, including handshaking. Later, once play packets are implemented there can be some helper functionalities for various actions that can be performed, etc.

This will be the main point through which users will interact with the mcproto library, and even though the lower level interactions will of course remain a part of the public API, for any potential custom logic that users may need, these classes will hide away a lot of the complexity and the users won't actually have to constantly check with wiki.vg on almost everything.

These classes are a requirement before v1.0.0 can be released.