* Expose extracted enchantments to Rust.
* Give enchantments a `level: i16` field.
* Update enchantment derive impls
* Restructure how enchants are exposed to Rust through C-like enums
* Update build/enchant.rs
Co-authored-by: Ryan Johnson <ryanj00a@gmail.com>
* Update build/enchant.rs
Co-authored-by: Ryan Johnson <ryanj00a@gmail.com>
* Move enchantment sources to their own struct.
* make id() function return it's discriminant instead of matching
Co-authored-by: Ryan Johnson <ryanj00a@gmail.com>
* Replace HashMap with BTreeMap in valence_nbt
Turns out that `BTreeMap`s are a bit faster when the element count is low.
This change also makes debugging compounds a bit easier since the elements are displayed in sorted order.
* Simplify read_list function slightly
This adds the `prevent-proxy-connections` server property and implements it into valence.
Note that if the server is in offline mode, this changes nothing.
By default, proxy connections are allowed.
Fixes#95
* Add basic enchantment extraction
* Change source format to individual fields rather than a list
Co-authored-by: Terminator <terminator@nonexistent.com>
valence_nbt has a much nicer API and avoids the complications brought by integrating with serde. valence_nbt also fixes some bugs and is 3x faster according to benchmarks.
* Set time of day #55
* fix typo
* Update src/client.rs
Co-authored-by: Ryan Johnson <ryanj00a@gmail.com>
* format file
Co-authored-by: Ryan Johnson <ryanj00a@gmail.com>
* Add methods to Config to use a custom session server
Added new methods to the Config trait, that enables
implementors to use a custom session server host
or even a fully custom URL.
* Fix error in documentation
* Make format_session_server_url return a String
Implements custom resource pack support.
Adds a `Client` method to set resource pack, and a `ClientEvent` for listening to resource pack status updates from clients.