valence/crates/valence_instance/src
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
..
chunk.rs Update to Minecraft 1.20.1 (#358) 2023-06-13 14:38:55 -07:00
chunk_entry.rs Reorganize Project (#321) 2023-04-21 14:43:59 -07:00
lib.rs Anvil Rework (#367) 2023-06-15 14:11:37 -07:00
packet.rs Implement world border (#364) 2023-06-14 22:15:47 -07:00
paletted_container.rs Move packets out of valence_core. (#335) 2023-05-29 01:36:11 -07:00