Skip to content
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

Anvil Rework #367

Merged
merged 7 commits into from
Jun 15, 2023
Merged

Anvil Rework #367

merged 7 commits into from
Jun 15, 2023

Conversation

rj00a
Copy link
Member

@rj00a rj00a commented Jun 15, 2023

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.

@rj00a rj00a merged commit 2ed5a88 into main Jun 15, 2023
@rj00a rj00a deleted the anvil-rework branch June 15, 2023 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant