Commit graph

25 commits

Author SHA1 Message Date
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