Registry data is now loaded dynamically for automatic future-proofing, ending the need for manual struct updates. Access to specific values now requires explicit data lookups.
I did not update density functions because i'm too lazy to refactor a bunch of things because Mojang decided to remove "initial_density_without_jaggedness", but i will in the future
* 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>
* Added some Simplified Chinese translations.
This is my first Pumpkin PR, and it means the world to me. (≧∇≦)🎃
* Added Simplified Chinese
* Added Simplified Chinese
* Custom translations!
Added to TextComponents custom translations, allowing to send commands in the current player locale.
* Ignoring locale's typos
* Paired reorder_substitutions with vanilla
Changed how reorder substitutions work to match how vanilla allows to join next and numeral substitutions.
* 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