valence/crates/valence_anvil
Ryan Johnson 4cf6e1a207
Entity Rework (#294)
## Description

Closes #269
Closes #199 

- Removes `McEntity` and replaces it with bundles of components, one for
each entity type.
- Tracked data types are now separate components rather than stuffing
everything into a `TrackedData` enum.
- Tracked data is now cached in binary form within each entity,
eliminating some work when entities enter the view of clients.
- Complete redesign of entity code generator.
- More docs for some components.
- Field bits are moved out of the entity extractor and into the valence
entity module.
- Moved hitbox code to separate module.
- Refactor instance update systems to improve parallelism.

### TODOs
- [x] Update examples.
- [x] Update `default_event_handler`.
- [x] Fix bugs.

## Test Plan

Steps:
1. Check out the entity module docs with `cargo d --open`.
2. Run examples.
2023-03-21 23:29:38 -07:00
..
benches ECS Rewrite (#184) 2023-02-11 09:51:53 -08:00
examples Entity Rework (#294) 2023-03-21 23:29:38 -07:00
src Refactor valence_protocol (#253) 2023-02-23 22:16:22 -08:00
Cargo.toml Entity Rework (#294) 2023-03-21 23:29:38 -07:00