-
-
Notifications
You must be signed in to change notification settings - Fork 150
Client Component Division #266
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
Conversation
I very much don't like renaming |
Yeah, |
Maybe confusions should be avoided by leveraging namespaces like |
|
In my humble opinion, the valence project interfaces at least for a user to minecraft first, bevy last, so i would probably use |
Also, the invention of new terms would be better to avoid, because it's additional cognitive load for newcomers. |
I'll just revert the
Not sure that's feasible with the way imports/exports work in Rust. We're re-exporting
That would make using |
## Description Makes it so that unit tests build. Does not make any changes to make them pass. ## Test Plan Steps: 1. `cargo test -p valence --tests` #### Related targets #266
## Description - update assert_packet_count with better fail message - fix failing inventory unit test ## Test Plan Steps: 1. `cargo test -p valence --tests` 2. see that all inventory tests pass
I'm getting some ridiculous rubber banding when running all of the examples. The packet inspector shows really big client bound packets at regular intervals. I think that chunks keep getting sent to the client when they aren't needed? Not really sure |
- fix duplicate Inventory component being placed on clients - fix playground extras - fix chest example so it builds - fix building example - fix bench players ## Description Describe the changes you've made. Link to any issues that this PR fixes or addresses. ## Test Plan Explain the steps necessary to test your changes. If you used a playground, include the code in the details below. Steps: 1. <details> <summary>Playground</summary> ```rust PASTE YOUR PLAYGROUND CODE HERE ``` </details>
This is caused by modifications to player position, yaw, pitch, in the packet handler triggering change detection for those components. A system later picks up on those changes and sends a teleport packet. We aren't distinguishing changes made by clients and changes made by users. Some possible solutions:
Option 3 seems like the best but maybe there's a better way. What do you think? |
I concur, I think option 3 seems best. |
Don't need change detection on pitch and yaw individually anymore.
Description
Divides the
Client
component into a set of smaller components as described by #199 (with many deviations).McEntity
will be dealt with in a future PR.Client
into smaller components (There's a lot to look at).RenameMcEntity
toActor
to avoid confusion between ECS entities and Minecraft entities.component
module.Username
type fromvalence_protocol
because the added complexity wasn't adding much benefit.I've stopped worrying about the "Effect When Added" and "Effect When Removed" behavior of components so much, and instead assume that all components of a particular thing are required unless otherwise stated.
Blocked on:
Test Plan
Steps:
A large number of tweaks have been made to the inventory module. I tried to preserve semantics but I could have made a mistake there.