* improve tag v1
* improve tag v2
* fix typo and make BlockPredicate better
* improve get state from state id
* make tag pub
* Update tag.rs
* fix error
* Update hopper.rs
* Update hopper.rs
* Added Flake for nix
* Removed Cargo lock from ignore
As it's now reccomended by rust team to keep it in repo as well as nix
needs it fetch dependacies for nix run
* Added Nix Compatbilty for package
I forgot to add it that's why this commit is here.
* Made flake minimal
* Add pumpkin-api crate for API definitions
* Add proc-macro definitions for pumpkin-api
* Add pumpkin-api and pumpkin-api-macros to workspace
* Add basic PluginManager implementation plugin loading
* Update .gitignore to include specific plugin file types
* Add example plugin
* Cargo fmt
* Fix clippy issues
* Refactoring to prevent a circular import
* Add base impl for plugin hooks
* Move plugin manager to server
* Make metadata have static lifetime
* Add default implementations to events
* Add hooks to proc macro
* Update example
* Fix formatting
* Fix clippy warnings
* Load metadata from Cargo.toml
* Mark plugins as an implemented feature :D
* Implement new event handling
* Create a static global reference to the plugin manager
* Emit player join and leave events
* Update macro generation
* Update example
* Fix formatting
* Fix clippy issue
* Simplify event handling
* Add plugin command to list plugins
* Make handlers async
* Update macros
* Update example
* Fix formatting and clippy issues
* Better styling on plugins command
* Fix clippy issues
* Cargo fmt
* Disable doctest for lib target on pumpkin crate
* New API for plugins
* Update api macros
* Update plugin example
* A bit of clean up
* Some QoL (and performance) improvements
* Cargo fmt and clippy fixes
* refactoring, better event handling, new context functions
* Async on_load and on_unload
* Fix mutex lock never going out of scope
* Async plugin loading
* Add plugin management command
* Fix clippy issues
* Fix import issues
* Move TcpConnection out of client
* Move packet encoding out of client
* Allow plugins to register commands
* Fix fmt and clippy
* Implement plugin list in query
* Make arguments public so that plugins can use them
* Update proc_macros to handle runtime
* Make tree_builder public for use in plugins
* Make FindArg trait public for use in plugins
* Update example plugin
* Fix merge related issues
* Fix cargo fmt
* Post-merge fixes (also 69th commit, nice)
* New event system
* cargo fmt
* Impl block break event
* cargo fmt and clippy
* Reduced plugin size
* Reduce dependency count
* Old code cleanup
* cargo fmt
* Add event priority and blocking options to event registration and handling
* Refactor event handling to support blocking execution and improve event registration
* Fix post-merge errors
* Update example plugin
* increase mpsc channel capacity and handle write errors gracefully
* Use Arc<Player> instead of &Player
* add missing import
* Update example plugin with playing sounds
* Remove example plugin
* Create plugins dir if doesnt exist
* Remove unused vars
* Remove unnecessary clones
* Fix impl
* cargo fmt
* Make server pub in context
* Add the text and the open link
* Update cmd_pumpkin.rs
* Fixed all the warnings and clippy and fmt
* fixed more
* trying to fix confics
* Fixed a bug
* another one
* Update .gitignore
* Update cmd_pumpkin.rs
* Added docs
* Formated
* Update cmd_pumpkin.rs
* im gonna test
* Change color bcs aqua is ugly
* Update cmd_pumpkin.rs
* Update cmd_pumpkin.rs
* Update cmd_pumpkin.rs
* implement populate noise step of chunk generation
* fix gitignore
* pass thru seed
* add counter for edge case
* add entire chunk test case
* remove eclipse file
* remove packet timing
* precompute float divisions
* unsafe speed up
* slight aquifer optimization
* tweak block pos packing
* optimize perlin map
* precompute aquifer random positions
* fix aquifer regression
* refactor samplers, add tests to aquifer, and move chunk extractor to the extractors
* fix base density function error and add a bunch of test cases
* ignore expensive tests by default
* remove un-needed lifetimes
* remove minecraft prefix from block lookups
* fix populate noise bench
* slight optimizations
* read files at runtime to speed up test compilation speed and remove ignores
* remove new lines from test data so people stop freaking out about line count
* make extractor the same
* leverage branch prediction
---------
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>