* Add secure chat configuration option
* Add secure chat bool to login packet
* change name of config flag
* add packet deserializer for player session packet
* make session update async
* Change config option
* Formatting
* Add chat configuration option
* Basic custom chat formatting
* formatting
* Add chat session to Player
* fix duplicate imports
* Formatting
* chat validation mostly working
* add registry for custom raw message
* chat formatting working with secure chat
* don't share session tokens if reporting blocked
* add received message index
* add custom registry without modifying asset files
* resolve color decorator before MESSAGE so player can't inject color codes by default
* move comment
* update all player sessions on join
* better previous message handling
* fix multiplayer bugs
* send new players existing signatures
* clean stuff up
* only send ChatSession if reports are enabled
* make clippy happy
* 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
* Major grammar sweep
* Remove extra backtick
* Use more specific terminology for chunk data storage
* Forgor to cargofmt
* Fix typo "thier"
* Fix typo "clousures"
* Try new terminology
* Forgor to cargofmt
* Use "Subchunks" instead of "Heterogeneous" for ChunkBlocks variant
* Fix variable name
* Forgor to change comment
* 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 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
* 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>
we only used them for collect_vec. I think its worth the "effort" to write Vec type annotations ourself and have one big crate with way too may features we don't need less
* WIP interactive blocks
* Added jukebox and crafting table
* Making feature more dynamic allowing every block action to be registered here
* Renamed interactive_block_manager to block_manager
* Simplifying register functions
* Added on placed
* Fix master merge
* Added pumpkin_block macro
* Removed junk
* Added the option to block placing in on_use_with_item
* Fixed inventory lock
* Adding on_broken and implementing it for the jukebox
* Fixed merge
* Remove fastnbt as dependency
* Move to own NBT crate
* Added deserialization
Also replaced i8 bool's with bool's
* Use: fastnbt for pumpkin-world
Until i don't figure out why Arrays do not work, we can use fastnbt
* add cleaner registry parsing
* start adding recipes
* add tags, and some crafting things
* Fix echest command
* add partly working crafting interface
* add generated assets
* fix container commands and clippy lints
* fix issues with resolving recursive item tags for crafting
* add flatten3x3 function
* add shapeless crafting
* add tests to and fix recipe flattening function
* refactor recipe system a bit
* add rayon to speed up initial loading of recipes
* almost working after rebase
* add deserialization for new crafting type "transmute"
* make crafting work again
* make shapeless recipes not require all permutations
* fixed visual bug with when taking out ingredients for crafting
* add support for new tags system
* Added new packets
Added packets to pumpkin-protocol for damage and re-spawning.
* Made damage_type registry value accessible
* Added damage and fall damage
* fixed phasing bug
* fix issues caused by merge
* spawn player on ground
make the player spawn on the highest block instead of in the air.
* dont default player to flying
* mode last_pos to living_entity
* fix using entity instead of living_entity
* fixed fall damage not working properly when switching gamemodes
* Update JSON Files to 1.21.2
* Update constants to 1.21.2
* Port c_login_success to 1.21.2
* Fix: damage type
* Overhaul Packet ID system
We now use Packet IDS from enums.
1. This is very very nice for seeing which Packets are already implemented and which not.
2. This lets us easly port to newer Minecraft version, In vanilla there are no Packet ids hardcoded, Packet IDs will be parsed from a enum like this
* Port all Packets to 1.20.2
* Update README badge to 1.20.2
* Change doc for the new packet id system