valence/crates/valence_instance
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 Registry Redesign (#361) 2023-06-11 09:08:38 -07:00
README.md Reorganize Project (#321) 2023-04-21 14:43:59 -07:00

valence_instance

Containers for chunks and entities. Instances are analogous to "levels" or "worlds" in Minecraft's parlance.