1
0
Fork 0
mirror of https://github.com/italicsjenga/valence.git synced 2025-02-03 17:16:34 +11:00
Commit graph

5 commits

Author SHA1 Message Date
Ryan Johnson
f4d36554d7
Make replaceable blocks place correctly in the building example. ()
Closes 

Note that this is a band-aid solution to a more general problem. In the
future, there should be a function in the `block` module to handle all
these placement rules.
2022-10-21 04:55:15 -07:00
Ryan Johnson
ce457a3d20
Add prelude module to valence. ()
This removes boilerplate code in the examples and reduces friction when getting started.
2022-10-21 04:54:32 -07:00
Carson McManus
59ca1ab573
Set up Inventory module ()
This is a very rough version of the inventory module and associated features. This will be a good base to start building something more robust.

- adds a player inventory to all clients
- makes clients keep track of what inventory they have open
- adds very naive state sync for inventories

related:  

# Test plans

### Building

1. run `building` example
2. pick any block from creative
3. place it
4. pick a different block from creative
5. place 2
6. break the last one
7. see that both remaining blocks don't become dirt

### Chest inventories

1. run `chest` example
2. sneak to give yourself a stone block
3. open the chest (it's invisible on top of the stone block)
4. place stone in chest
5. see the stone moving around in the chest

## Known Issues

To be fixed in later PRs

- It's very easy to duplicate items if you take the stone out of the chest on the same tick as the server trying to move the item.
- The chest is invisible when you spawn in. It appears if you break it.
- `get_slot` and `set_slot` can panic.
2022-10-15 19:47:02 -07:00
Ryan Johnson
056b4ebd32
Correctly encode biomes () 2022-10-13 18:19:35 -07:00
Carson McManus
f165b55c7b
add building example ()
This adds a new example to demonstrate how to implement block breaking/placing.
2022-09-13 18:30:45 -07:00