valence/crates/valence_client
Ryan Johnson 2ed5a8840d
Anvil Rework (#367)
## Description

Solidify the design of `valence_anvil` so that most of the boilerplate
in the anvil example is eliminated. `AnvilLevel` is now a component of
`Instance` and automatically loads and unloads chunks as clients move
around. Events are used to communicate when chunks are loaded and
unloaded.

Also changes the system message API and introduces the `SendMessage`
trait.

Checks off a box in #288

### Known Issues
- Still no support for saving or entities.
- The handling of chunk `min_y` is wrong. I plan to fix this in an
upcoming redesign of instances and chunks.
- Uses one OS thread per anvil level. This could be improved with a
dedicated shared thread pool to parallelize the loading process.
However, it seems decently fast as it is.
- Old benchmark is commented out.
- Could use some tests.
2023-06-15 14:11:37 -07:00
..
src Anvil Rework (#367) 2023-06-15 14:11:37 -07:00
Cargo.toml Move packets out of valence_core. (#335) 2023-05-29 01:36:11 -07:00
README.md Reorganize Project (#321) 2023-04-21 14:43:59 -07:00

valence_client

Manages core components and systems related to Minecraft clients.

A client is a Minecraft player entity backed by an abstract network connection and other necessary components. See [Client] for more information.