* 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>
* 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>
* update to 1.21.5
* maybe made something better maybe made something worse
:c does still not work
* some fixes
* fix chunk packet
finally, this took way too much of my life time
* port text component
* fix tests
recipes are broken but we currently don't use them anyway
* Populate biomes
* actually fix multi noise sampler
* actually they are all pass-through
* fix serde error
* prepare things
* implement surface rules
* fix max_y
* fix terrain gen
* make surface rules work
* fix wrong biome coords
* refactor height estimator to its own struct
* implement surface estimation for surface rules
* fix surface gen
* some carve work
* fix conflicts
* more biomes work
* fix biome map
* refactor biome lookups
* add unit tests
* change from_block to from_chunk
* not only lushcaves anymore
* add more unit tests
* add unit test
* fix multi noise
* Update proto_chunk.rs
* fix biome map access
* test badlands impl
* fix badlands
* fix some values
* make it compile
* Fix bug in get_enclosing_parameters (#641)
* add badlands pillar and icebergs
* fix clippy
* fix clippy in test
* Update README.md
---------
Co-authored-by: kralverde <github@email.kralverde.dev>
Co-authored-by: 4lve <72332750+4lve@users.noreply.github.com>
* Add block builder
* Implement loot tables
* chaos snapshot
* LFG
* add oak fence
* lever facing
* Add trait for CardinalDirection
* fix clippy
* fix clippy
* reimplement partial state of loottable
* Implement neighbor block updates
* add oak door
* Fix crash on invalid state
* Fixes
* Add fences
* Add doors
* Refactor how we handle block properties when implemented in many places
* Remove old loot_table, moved to block generation
* Better Block Properties
* Add fence gates
* Update block_grouper and add logs
* Build tags instead and make it easier to define variants of blocks
* Save block states
* Allow nether fences to connect with fence gates
* Move away from hardcoded property names
* Clean up property remaps
* start refactor of blocks
* refactor block compile build
* refactor name map for property groups
* Make it so fences can't connect to the air part of a fence gate
* Use extractor instead of hard coded property names
* to_value and from_value should be stripped of "L" prefix
* Prefix isn't used anymore
* use hashes to verify uniqueness
* Don't declare IntProvider twice and fix typo
* remove some comments that don't apply anymore
* Move loot table so it's shared
* Futureproof Loot Tables
* Implement BlockStateProperty condition for LootTables
* Move experience to pumpkin_utils
* Add is_liquid
---------
Co-authored-by: kralverde <github@email.kralverde.dev>
Also broadcast current held item. The block progress is already correctly displayed and calculated for tools. But for some reason the destruction does not work, looking at vanilla code i have no idea what i'm doing wrong
Also rewrite how we handle tags. Now we can use tags everywhere we want!. I also decided to make the json assets pretty printed which is so much easier to debug, The decision was made because of the reason that we are moving to compile time assets, so pretty printing does not affect performance
* add density function parser, re-write functionality, and add initial tests
* add more tests and fix typo
* re-work density interpolator
* re-work flat cache
* re-work the rest of the chunk specific density functions
* re-work fill functions
* tweak sample logic and do some refactoring
* convert chunk noise to use new density functions
* work on porting proto chunk
* port proto chunk
* add cell cache test
* fix wrapper functions
* remove test print
* update benchmark
* rework again
* rework again pt 2
* classic off by one
* reduce components on the stack by 60x
* aquifer tweaks
* add multi noise sampler for biome sampling