Commit graph

83 commits

Author SHA1 Message Date
Carson McManus 47538ea05c
Refactor Slot (#87)
* create ItemStack type

* move slot back into protocol

* change DropItemStack to use ItemStack, because it's imposible to drop nothing
2022-09-26 20:44:06 -07:00
emortal 2044add969
Create parkour.rs example (#28) 2022-09-24 19:40:10 -07:00
Ryan 1dc5d84ba9 Add biomes example (which is currently broken due to bugs in chunk module) 2022-09-23 19:10:11 -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 cab1337716 Add Giant to entity_raycast example 2022-09-17 23:30:54 -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
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 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 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 5c9a6c973c Add --all-targets to actions 2022-09-09 22:35:24 -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
Ryan 7d55dfb964 Simplify position conversion 2022-09-05 22:12:28 -07:00
SirJosh3917 08ee7acacf
Fix order of chunk creation in conway's example (#27)
This would typically go unnoticed, but upon expanding the and making meaningful use of both directions, this being an issue arises.
2022-09-05 20:16:21 -07:00
Tristan F 10a8de3bbd
Add action bar support (#15)
* Action bar + conway

* Docs for action bar

* Apply suggestions

* fmt
2022-09-05 17:23:32 -07:00
Mrln 42dfcef57d
Add ClientEvent::InteractWithBlock (#26)
* Add ClientEvent::InteractWithBlock

* Add an example of ClientEvent::InteractWithBlock to the conway example
2022-09-05 17:01:39 -07:00
Tristan F df3e5b12bb
Add custom sound effect packet and sound example to conway (#12)
* Add custom sound effect packet, sound example

* Small logic cleanup

* More sound packets

* fmt

* Apply suggestions
2022-09-05 15:37:59 -07:00
Ryan 30e05bb373 cargo fmt 2022-09-04 22:21:24 -07:00
Tristan F d7e229e0a9 Make default client event 2022-09-04 15:42:08 -04:00
Ryan f3c96403e0 Slow down conway example 2022-09-03 01:40:09 -07:00
Ryan 6e0a7e0a88 Allow pausing and clearing the conway example 2022-08-31 04:51:13 -07:00
Ryan 2a266fb091 Change rustfmt settings 2022-08-28 21:31:07 -07:00
Ryan 793a795732 Check protocol version during login 2022-08-14 15:18:22 -07:00
Ryan 55cb595740 Improve chunks API 2022-08-10 20:09:10 -07:00
Ryan 003c2e3649 Enable authentication in examples 2022-08-10 10:32:05 -07:00
Ryan b2310db7b7 Fix chunks loading multiple times
The default chunk view distance has also been lowered to 2 since that is the most conservative guess.
2022-08-10 10:27:25 -07:00
Ryan d4d169d130 Use chunk state instead of HashSet 2022-08-09 17:24:21 -07:00
Ryan 760f4bddcf Fix extra knockback sprint bug 2022-08-09 15:42:05 -07:00
Ryan 3649a8ca99 Make superflat option per client rather than per world 2022-08-09 15:09:51 -07:00
Ryan a5a560220c New player list implementation 2022-08-09 14:44:04 -07:00
Ryan 1838c290a0 Extract slotmap logic into separate modules 2022-08-08 18:42:39 -07:00
Ryan 49d63a39c0 Clean up client and fix names 2022-08-05 12:36:34 -07:00
Ryan 6b5e795f81 Rename entity data 2022-08-02 19:02:05 -07:00
Ryan e21fd70160 Restructure packet module 2022-07-29 05:34:29 -07:00
Ryan 35c697ff93 Rename *Data to *State 2022-07-27 19:21:11 -07:00
Ryan 2e22946ffc Rewrite the entity generator 2022-07-27 07:10:35 -07:00
Ryan b604dafe73 Add combat example 2022-07-17 21:29:44 -07:00
Ryan 865ab76699 Add custom data 2022-07-15 20:40:39 -07:00
Ryan 4b83801066 Clean up docs and fix clippy issues 2022-07-14 23:18:20 -07:00
Ryan 4a12def900 Redesign the spatial index API and add raycast example 2022-07-14 03:40:26 -07:00
Ryan 9448e17607 Add spawn platform 2022-07-13 21:52:33 -07:00
Ryan a36b5163f7 Implement attack and movement speed 2022-07-12 20:47:53 -07:00
Ryan 9d0363ac4e Add logo 2022-07-12 16:54:36 -07:00
Ryan 3f150b4c8a Document most items 2022-07-11 05:08:02 -07:00
Ryan 24cf864ed1 Don't export items arbitrarily at the crate root 2022-07-06 18:27:59 -07:00
Ryan bfba7a1d11 Swing correct hand 2022-07-05 19:28:29 -07:00
Ryan 3ac711ca74 Use idiomatic names
The Rust stdlib uses "Kind" instead of "Type".
2022-07-05 19:21:52 -07:00
Ryan fcda380f2a Improve entity event API 2022-07-05 18:08:40 -07:00