* 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
* replace slot with ItemStackSeralizer
* Dismantle current inv logic
* Disassemble even more, items need fixing markd with TODO: Inv
* Player inventory methods implmented
* make some fields private
* remove invalid comment
* Partial screen handler and slot
* Add armorslot
* prepare for crafting
* implement some more crafting traits
* Fix ItemStack
* Fix pickup and remove faulty crafting (getting reworked in inv revamp)
* fix
* fix error
* add readme
* move readme file
* asd
* remove readme
* add uppsercase readme
* Some more work
* merge
* Move from generics to dynamics
* fix
* move to same impl
* Some changes
* add player open logic
* Basic impl of sync and listeners
* Why did mojang complicate it so much
* bruh
* Simplify things with DefaultScreenHandlerBehaviour
* Implement partial slot clicks
* add
* itemhashes are broken
* Start implementing packets
* fix deadlock
* new vanilla update
* Use static item refs and use Arc Mutex on invs
* working normal click
* fix deadlock
* implement sync handler
* small patch
* Implement quick_move
* Implement Swap click type
* pickup, update bug
* start fixing updates
* fix pickup desync
* Make Inventories non mutexes
* Implement some finishing stuff
* close screen on player leave
* fix pick item
* Move to item hashes
* remove some logs
* begin implementing barrels
* Begin implementing barrel
* implement barrels
* fix clippy + typos
* Fix merge conflicts
* Fix lint error
* don't use unwrap when getting equipment slot
* Fix typo and single threaded
* Accidentally removed tokio completley
* Fix crash when opening barrel holding item
* Add support for marking block entities dirty
* Player Equipment changes
* Make ScreenHandlerFactory own inventory instead of passing in optional
* remove log
* replace todo's
* fix clippy
---------
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
now we only calculate the direction if we need and also can calculate up and down which can be used for blocks like Observers or Pistons.
Fixes https://github.com/Pumpkin-MC/Pumpkin/issues/738
* 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
* 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>
* 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>