Commit graph

30 commits

Author SHA1 Message Date
Ryan Johnson 71d82c5330
Add encoded_len method to Encode trait. (#125)
This allows packets to calculate their exact length up front.
This isn't currently tested or being used for anything, but that will come in later changes.
2022-10-19 01:52:02 -07:00
Ryan Johnson f58e6662dd
Add performance tests (#113)
Adds the performance_tests/ directory.

In the future we could use our own fake client software instead of
rust-mc-bot. This would make it easier to run the tests.
2022-10-14 21:18:03 -07:00
Ryan Johnson 7d0c254874
Rewrite ident module (again) (#111)
Ident is now a wrapper around any string type `S`.
2022-10-12 03:53:59 -07:00
Ryan cf5b9136df Bump valence_nbt version in valence 2022-10-01 15:47:59 -07:00
Ryan Johnson 9c62bc1b90
Move valence_nbt to main Valence repo. (#97)
This also adds another check in CI
2022-10-01 14:18:42 -07:00
Ryan Johnson 36b63e777e
Replace serde_nbt with valence_nbt (#80)
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.
2022-09-23 04:03:21 -07:00
Ryan cc9cd0be2d Use exact versions of dependencies in Cargo.toml 2022-09-22 17:00:02 -07:00
Ryan Johnson ca4f47c768
Implement the player sample (#47)
Verify that it works by hovering your mouse over the player count in the
cow_sphere example.
2022-09-10 16:02:12 -07:00
XBagon a4c8b282a5
Change debug optimization levels (#33)
Changed the `Cargo.toml` to allow full optimization of dependencies and minimally optimize the binary to allow proper testing without timeouts and errors due to overload.
2022-09-08 04:40:42 -07:00
Ryan 4c5179de18 Move serde_nbt to a separate repo.
It is located at https://github.com/valence-rs/serde_nbt
2022-09-04 04:00:59 -07:00
Ryan ebbea74017 Prepare for public release 2022-09-03 16:48:11 -07:00
Ryan f7a35f356e Update rust docs 2022-09-02 00:06:45 -07:00
Ryan 27033c758e Update packet_inspector 2022-09-01 00:57:02 -07:00
Ryan c8cc7a021c Add valence_nbt to valence 2022-08-29 19:28:19 -07:00
Ryan c503e6eb78 NBT Value can now be round-trip encoded/decoded properly 2022-08-28 21:06:38 -07:00
Ryan 7568ff8b4b Add serde_nbt 2022-08-24 18:17:51 -07:00
Ryan 21e37c65c2 Update Cargo.toml 2022-07-18 02:02:37 -07:00
Ryan 878f2d1dcb Add conway example 2022-07-02 00:14:39 -07:00
Ryan a259bdf840 Add the packet inspector proxy 2022-07-01 15:29:31 -07:00
Ryan 6ef634ca2c Use Rust 1.62.0 features 2022-06-30 13:22:08 -07:00
Ryan 560163fd2e Expose the protocol API behind a feature flag
This could be useful for building proxies or clients in the future.
2022-06-30 11:53:57 -07:00
Ryan 055dd03ffc Implement the player list 2022-06-27 17:52:23 -07:00
Ryan 8ad9c8587a Upgrade the chunk example 2022-06-19 08:40:37 -07:00
Ryan 34d831f5fd Add R-Tree 2022-06-06 23:20:34 -07:00
Ryan 620c0bf287 Replace nalgebra-glm with vek
Vek has been pleasant to use in practice. nalgebra is slow to compile
and its documentation is difficult to traverse. Vek also comes with its
own AABB impl, so we use that instead.
2022-05-16 04:09:51 -07:00
Ryan adc8a4faae Give World ownership over entities, clients, and chunks.
This change was made to make it easier for invariants to be upheld. When
the spatial partition is added, we can ensure that changes to entities
are immediately reflected in the partition. Additionally, chunks being
shared between worlds was a leaky abstraction to begin with and is now
removed. A method in `Config` is now necessary to determine what world a
client should join.

Along with this, most mutable references have been wrapped in a newtype
to ensure that `mem::swap` cannot be used on them, which would break
invariants. This is analogous to `Pin<&mut T>`. The reason we can't use
Pin directly is because it would require unnecessary unsafe code
within the library.
2022-05-16 02:36:14 -07:00
Ryan a997820b7a Add block state generator 2022-04-17 17:04:39 -07:00
Ryan 5bbbb258d1 move from private repo 2022-04-14 14:55:45 -07:00
Ryan db0eae3a6c fix broken link 2022-01-20 06:41:24 -08:00
Ryan 8b29a04af8 prepare for crates.io 2022-01-20 06:39:49 -08:00