* chore: add treewide nix formatting
This allows nix users to format more filetypes than just the `.nix` files. Treefmt-nix is partitioned to a `dev` flake. Refer to the corresponding flake description as to why this was done.
* style: nix fmt
* build: nix caching, sync nix toolchain to rust-toolchain.toml
Nix triggers a full rebuild on any file change. Even for changes on 'non src' relevant files, like e.g. the readme file. This fixes the caching issues, syncs the 'nixified' rust toolchain with the rust-toolchain.toml file, and moves checks and devShells to the development partition.
* chore: add rust-analyzer and rust-src components
Unless the rust-analyzer & rust-src components are installed somewhere else developers will not have a LSP and the rust std docs available. This installs those components for the specified channel, which is especially useful for Nix users.
* chore: remove taplo
Taplo defaults to 2 Spaces, but setting them to 4 doesn't work either for whatever reason. Therefore the removal.
* style: 4 instead of 2 spaces
Reverts the "mistake" by the taplo formatter
* chore: re-add taplo but with 4 spaces
* style: revert unnecessary Cargo.toml formatting
* Fix redstone wire when interacting with glass and non-full blocks
* Use is_solid_block to determine whether redstone wire should be blocked
* Fix: incorrect uses of BlockState.is_solid()
* run cargo fmt
* split state_flags into 2 u8's and remove BlockState.blocks_wire() methods
* Resolve clippy warning
* Revert state_flags back to a single u16
---------
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
* improve tag v1
* improve tag v2
* fix typo and make BlockPredicate better
* improve get state from state id
* impl DataComponent
* make tag pub
* make component work
* apply clippy
* apply clippy
* remove unused crate
* apply to itemstack and no lifetime mark anymore
* Update tag.rs
* use Cow
* remove unnecessary lazy_static and Cow
* Update mod.rs
* Update mod.rs
* make DataComponent dyn
* remove unused crate
* fix error
* Update Cargo.toml
* Update Cargo.lock
* fix
* Update composter.rs
* update rust-version, remove unused crate, and merge
* Update furnace.rs
* fix: the fields of the struct CookingRecipe should be pub.
* Add furnace screen handler and slot
* Add furnace block entity
* Add furnace block
* fix bug
* add client-side sync
* fix furnace facing
* remove unused statements
* fix spelling error
* Listening for property changes and syncing them to the client-side.
* fix furnace lit state
* fix fuel should be placed at fuel slot in quick_move()
* fix spelling error
* remove unused comment
* fix: only one listener is needed.
* pumpkin-data: add recipe_remainder
* Set the bottom item as the remainder if it has one
* pumpkin-data && furnace:fix spelling error
* fix building error
* use_with_item is the same as normal_use
* fix quick_move()
---------
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
* improve tag v1
* improve tag v2
* fix typo and make BlockPredicate better
* improve get state from state id
* make tag pub
* Update tag.rs
* fix error
* Update hopper.rs
* Update hopper.rs
* feat: basic implementation of sea_pickles
* feat: sea pickle placement done
* feat: sea_pickle growing done
* fix: remove unused function
* fix: clippy time
* fix: variable name
* fix: rng
* add candle block
* add to registry
* add fire charge
* implement putting out campfires
* fix adding the wrong color of candle
* FIXME: placing underwater and on top of waterlogged blocks
* fix trying to place inside of water
* cargo fmt
* clippy :)
* prevent fire and candles from being placed ontop of waterlogged blocks
* clipppyyyyy
* .-.
* fix missing negation
* putting candles on cakes and lighting them
* hard code ids
* add eating candle cakes
* implement @Snowiiii's suggestion
* prettier :D
* fix merge
* fix resetting of block states
* fix creative mode
* fmt
* fix ignition of candle cakes
* fix cakes in creative
* switch to args as structs
* fix ci
* cargo fmt .-.
---------
Co-authored-by: ht06 <hthug06@gmail.com>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
* feat: place flowers, saplings, ... inside the pot
* feat: remove flowers, saplings, ... inside the pot and check when placing block next to the pot
* feat: add changement for eye blossom flower state (open and closed)
* fix: adapt to the BlockState commit (8ebc9ee)
* fix: delete unused import
* fix: refactor
* cargo clippy + fmt
* feat: use extractor to place the flower inside the pot
* All done
* fix: replace blocking_lock() by lock().await
---------
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
* Add Fire
* fixes
* fix dropping blocks
* fix logic
* Fix CI
* add support for waterlogged
* fmt
* fix comment
* remove particles and sound from fire breaking
* fmt
* inital chunk features
* add more things
great title i know
* add some features
still no result, but we are getting there...
* make it parse
* add simple BlockPredicate
* add simple random selector
* new things
* change stuff
* base tree impl
* change things
* add more heightmaps
* fix master merge
* steps towards proper random
* fix upper level block placement logic
* Make it compile
* fix block dir serde name
* Added Tree Foliage
* more Tree work
* Implement would_survive check
I don't say its good, but it works :D
* Fixed biome placement modifier (#836)
* Implement all tree foliages
* Fix grass, flowers, seagrass, seapickles...
* Add Ores
* add Bamboo, Vine, Spring feature
Also more fixes
* Corals
* Add Tree decoration & more
Many many fixes
* fix vines
* fixed bamboo
* fix some clippy warns
* fix trees outside of chunk
* make it compile again
upsi
* fix clippy warns
* fix InsideWorldBoundsBlockPredicate
* set dirt under tress trunk
dirt, not grass
* more trees work
---------
Co-authored-by: kralverde <github@email.kralverde.dev>
Co-authored-by: Laurent Stéphenne <laurent@guibi.dev>
* Save/Load entity effects and send to player on join
* Moved nbt writing and reading to Effect struct
* Fix cargo fmt
* Improved reading logic
* Resolve conflicts