Make `valence_protocol` usable for other projects
CryptForge opened this issue · 1 comments
Describe the problem related to your feature request.
I'm working on my own project and I realized that there isn't a good minecraft protocol crate.
valence_protocol
is good, but it's very interwoven with the rest of valence.
What solution would you like?
Ideally the protocol would be a completely separate project, but that would require a lot of changes and the seperation of other valence crates.
So a (relatively) simple change could be to remove unnecessary dependencies from valence_protocol
, mainly bevy_ecs
.
What alternative(s) have you considered?
I'm currently making a new protocol crate, but I'd rather just use an already existing one.
The intent was always to make bevy_ecs
an optional dependency but I never got around to it. That should be easy since it's just used for #[derive(Component)]
in a few places. base64
and url
could probably be cut too.
Other than that, I don't think valence_protocol
can be made any less opinionated than it already is, due to all the different domains it needs to touch. Dependencies like valence_text
, valence_ident
, and valence_nbt
are intended to be usable as standalone crates too.