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