* 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>
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