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
* 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
* Added 11 blocks properties
Added the following properties:
Axis
Open
Age
Attachment
Signal Fire
6 connection directions
* Clippy my beloved 💕
* Reworked block properties
Changed block properties to make them more extensible and easier to handle.
* Little too much of Clippy
* Lever works!!! 🎉
Made the lever work, implementing modifiers to the “on_place” per block, plus the “on_interact” function to handle the state when interacting with a block that has it.
* Kinda implemented bool as value
* A little bit of Clippy :)
* Updated revised areas
* Removed enum added macro to search for block entity id
* Added sign update for all clients & clean up
* updated update_sign
* Updated code
* typo fix and format
* Finish and correct merge
* Remove hardcoded block entity value
* Move to own nbt crate
---------
Co-authored-by: whiteout314 <almagro.carlos@proton.me>
* simplify all
* fmt
* Consider using derive macro
* Add new events
* Add events call
* minor fixes
* minor fixes
* fix
* optimize code
* big changes
* fix skill issue
* fix
* Consider not specify patch version
* make logger shared
* i want test one thing
* Add one useful function
* add little amouth of docs
* use config instead
* revert changes
* fmt
---------
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
* Initial experience support
For some reason I am getting link errors
* Implement experience math
* Fix packet and format/clippy
* Fix translate strings
* Fix experience handling
* Clippy & Format
* Fix experience calculations
* Fix how we store experience.
Math WIP
* Redo all experience calculations
This should be 100% vanilla parity.
* Fixed slabs properties
Changed a little bit the properties system to make the slabs work properly and the collision calculation when placing them.
* Added Layers
Used for Snow
* Prevent some crashes
Fixes https://github.com/Pumpkin-MC/Pumpkin/issues/514
* fix clippy
* Improve bounding box
* Added margin on intersection
Added a margin on intersections calculation to prevent the player to pass through blocks.
* Rolling back intersection margin
---------
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
* Updated show_entity
Changed a little bit the show_entity function from HoverEvents to better usability
* Added to_string to EntityType
Added to_str and to_string functions to allow proper use of identifiers in the show_entity of a TextComponent.
* Clear texts parity
Added translations to clear command, also added to show the player which items are cleaned, and tell something to the user like vanilla.
* Pumpkin command format
Formatted the pumpkin command to show better the text.
* Kill texts parity
Added translations to kill command, also added to show the player who is killed, and tell something to that user like vanilla. Also changed the color to white like vanilla.
* Added translate key of item
Added a function to item_registry which returns the appropriate TextComponent::translate for a item
* Give texts parity
Added translations to give command item, also added to show the player who receive the item, and tell something to that user like vanilla.
* CLIPPY MY LORD
* Reverted entity_type changes
I had not thought that I could use debug to get the name of the type, my mistake
* Added send_message to Player
Added the function send_message to allow sending DisgusedChatMessages directly to a specific player.
* Added msg command
Added msg (tell) command to match with the applied parity changes.
* Bossbar texts parity
Added translations and parity props for Bossbar command texts, without changing their behavior.
* get_text gets translations
Changed the function get_text to use translations correctly
* Fixed ShowItem and ShowEntity
Changed the ShowText type to allow using TextComponent on it, made the same chage to the "name" attribute of ShowEntity.
* Fixed Clippy requirements
- Fix TextComponentArgConsumer
- Rename with_child to then
- Rename ProtoCmdArgParser to ArgumentType
- Add title command, Mostly complete only "times" sub command is missing
* Refactorized TextComponent
Changed the whole TextComponent structure to allow nested translated texts and avoid recursion in serialization, but keeping the api unchanged.
* Adapted translations
Changed all the translate components to fit the new format, also added translation to gamemode command.
* Format revised
* Corrected player detection on place block
Changed the system of detection of intersection of the player with the placed blocks so that it respects the collision of the block.
* Solve clippy errors
* Restrict under and above
Fixed crashing due to user trying to place blocks under the world, moving the above check to take effect, and making it send the player the error message.
* Changed TextComponent Translate
Due to a circular encoding problem changed "with" value type of Translate until TextComponent rework.
* Restrict on adventure and spectator
Added a check and error when user tries to place a block on adventure or spectator gamemodes.