Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Client and Server classes #169

Open
ItsDrike opened this issue Aug 7, 2023 · 0 comments · May be fixed by #182
Open

Add Client and Server classes #169

ItsDrike opened this issue Aug 7, 2023 · 0 comments · May be fixed by #182
Assignees
Labels
a: API Related to exposed core API of the project p: 2 - normal Normal priority s: stale Has had no activity for a while (will be closed for inactivity/marked up for grabs soon) t: feature New request or feature
Milestone

Comments

@ItsDrike
Copy link
Member

ItsDrike commented Aug 7, 2023

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.

@ItsDrike ItsDrike added p: 2 - normal Normal priority t: feature New request or feature a: API Related to exposed core API of the project labels Aug 7, 2023
@ItsDrike ItsDrike added this to the 1.0.0 milestone Aug 7, 2023
@ItsDrike ItsDrike self-assigned this Aug 7, 2023
@ItsDrike ItsDrike linked a pull request Aug 16, 2023 that will close this issue
@py-mine-ci-bot py-mine-ci-bot bot added the s: stale Has had no activity for a while (will be closed for inactivity/marked up for grabs soon) label Oct 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a: API Related to exposed core API of the project p: 2 - normal Normal priority s: stale Has had no activity for a while (will be closed for inactivity/marked up for grabs soon) t: feature New request or feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant