Commit graph

415 commits

Author SHA1 Message Date
Ryan 28b26b2aae Reorganize registry codec stuff and fix some bugs 2022-09-23 04:51:26 -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
dani162 eed39364df
Set time of day #55 (#76)
* 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>
2022-09-21 15:12:31 -07:00
dani162 77ad1dfdd1
Listen on any network interfaces #77 (#79) 2022-09-21 15:11:45 -07:00
Ryan 00668839bd Wrong person lmao 2022-09-19 21:17:00 -07:00
Ryan 7f22e709cb Add GitHub sponsors 2022-09-19 21:08:14 -07:00
Ryan b13fe32f76 Only set center chunk when crossing chunk borders, not sections 2022-09-19 21:03:39 -07:00
Tim Satke d9b7008827
Add methods to Config to use a custom session server (#72)
* 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
2022-09-19 20:23:39 -07:00
Ryan d25f3674fb Acknowledge only the latest dug block sequence 2022-09-19 19:19:20 -07:00
Carson McManus 4574e18d49
inventory client events (#66)
* finish packet definition for ClickContainer

* add CloseScreen client event

* add DropItem client event

* add SetSlotCreative client event

* implement ClientEvent::CloseScreen

* ClientEvent::DropItem

* implement ClientEvent::SetSlotCreative

* cargo fmt

* add inventory_piano example to demo inventory slot click events

* lints

* implement ClickContainer event

* inventory_piano: deduplicate note playing logic

* add DropItemStack client event

* implement ClientEvent::DropItemStack

* adjust logging

* tweak inventory_piano example, send text to chat instead of stdout

* fix lint

* move Slot outside of protocol module

* avoid cloning slot in ClickContainer packet handler

* fix inventory_piano example
2022-09-19 11:29:41 -07:00
Ryan 2f2bc91535 Fix error in docs 2022-09-18 18:38:12 -07:00
Ryan Johnson 70ef63aae3
Fail checks when warnings occur 2022-09-17 23:56:40 -07:00
Ryan d459df8b2c Fix formatting 2022-09-17 23:37:11 -07:00
Ryan cab1337716 Add Giant to entity_raycast example 2022-09-17 23:30:54 -07:00
Ryan 5bdac7fbb0 Remove unnecessary prefix from Poses 2022-09-17 23:25:07 -07:00
Ryan Johnson 9ec1df1978
Entity Hitbox Improvements (#70)
Solves #45. With help from @guac420
2022-09-17 23:14:48 -07:00
Ryan dcd4a2b5ed Update resource pack link and add SHA-1 hash 2022-09-17 19:40:26 -07:00
James P e6f01e5e4d
Custom resource packs (#68)
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.
2022-09-17 19:32:40 -07:00
Ryan 02b4b49c10 Remove packets.json notice 2022-09-16 22:48:22 -07:00
EmperialDev 419d317736
Migrating the packets to wiki.vg (#62)
Addresses #56. Migrating all the packet names to wiki.vg's instead of fabric's.
2022-09-16 21:29:48 -07:00
Ryan Johnson 0a75f103aa
Packet filtering (#67)
* Add `PacketName`

* Fix inefficiency in codec.rs

* Add regex argument to packet_inspector

* Reorder imports

* Make the regex arg optional

* Update README
2022-09-16 05:31:37 -07:00
Carson McManus 7c23d7a086
add docs for packet inspector: quick start w/ vanilla server in docker (#63) 2022-09-15 18:59:43 -07:00
Ryan Johnson 7cd3b6cd2d
Add inventory packets (#57)
Adds the inventory packets so we can use them with `packet_inspector`.
2022-09-14 14:18:04 -07:00
Ryan Johnson c73df2c09a
Update rust.yml 2022-09-14 05:23:08 -07:00
Carson McManus f165b55c7b
add building example (#49)
This adds a new example to demonstrate how to implement block breaking/placing.
2022-09-13 18:30:45 -07:00
Ryan 0453b94eea Recommend git dependency instead of path dependency in README.md 2022-09-13 04:33:11 -07:00
Ryan 7878793629 Explain event validation 2022-09-12 21:53:07 -07:00
Ryan 51cb3bd277 Fix formatting 2022-09-12 20:32:11 -07:00
Ryan dc64f06cac Clarify chunk space/world space 2022-09-12 20:20:58 -07:00
Nolan Rosen adc927d319
Cleaner fix to #10 (#52) 2022-09-12 17:14:37 -07:00
Ryan 65dc561868 Document and rename default_client_event to handle_event_default. 2022-09-11 21:59:05 -07:00
Ryan bc470f3eb3 Consistent logo file names 2022-09-11 00:20:17 -07:00
Ryan c15a9361f2 Make note about packet names matching packets.json. 2022-09-10 17:01:42 -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
Ryan 49fdeb6be4 Tweak actions 2022-09-10 02:40:58 -07:00
Ryan 5c9a6c973c Add --all-targets to actions 2022-09-09 22:35:24 -07:00
Ryan Johnson fdedf74d29
Add clippy lints and format checks (#46)
The nightly rust toolchain is used because we are currently using unstable rustfmt settings.
2022-09-09 21:59:10 -07:00
Ryan 4920defe3e Fix clippy issue 2022-09-09 17:56:16 -07:00
Sekky61 a80052097a
Added SetExperience and SetHealth packets (#34)
* Added `SetExperience` and `SetHealth` packets

Packets were tested

* Rename packets in accordance with `packets.json`
Renamed `SetExperience` to
`ExperienceBarUpdate` and `SetHealth` to `HealthUpdate`

* `set_level` and `set_health_and_food` functions
2022-09-09 17:54:09 -07:00
Nolan Rosen 7b3e317c06
Bugfix: Conflicting UUIDs (#38)
* Adding basic test for entities container

* Entities test written

* Fixes: #11

* Update src/entity.rs

Co-authored-by: Ryan Johnson <ryanj00a@gmail.com>

* Removing unused imports

Co-authored-by: Ryan Johnson <ryanj00a@gmail.com>
2022-09-09 17:45:38 -07:00
guac420 96f5614941
Add support for Slot data decoding (#25)
* Impl Seek for reader in Decode Trait

* Add support for Slot data type

* Update tests and rust fmt

* Add tests for Slot

Also fixed bugs I found while testing

* Update slot signature

* Resolved requested changes

Updated decode trait signature and removed unnecessary getters/setters in `Slot`
2022-09-08 21:39:08 -07:00
Ryan Johnson 20546e2fb8
Split Chunk into loaded and unloaded types (#37)
These changes will pave the way for nonblocking terrain generation in `terrain.rs`.
2022-09-08 19:33:24 -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 c955ab8799 Resolve remaining clippy warnings 2022-09-07 11:36:12 -07:00
Carson McManus 2b3794da7e
Update definition for ChatMessage and CommandExecution (#30)
* Update ChatMessage definition, prevent typing in chat from kicking players

fixes #24

* Update definition for CommandExecution
2022-09-07 11:21:20 -07:00
Ryan Johnson ce02b50623
Clarify status of crates.io crate in the readme 2022-09-06 18:05:57 -07:00
Ryan 6215373b18 Re-export the BlockFace type 2022-09-05 22:53:09 -07:00
Ryan Johnson ddc74ef01d
stderr -> stdout 2022-09-05 22:29:19 -07:00
Ryan 067d753267 Move packet_inspector README.md to correct directory 2022-09-05 22:18:13 -07:00