mirror of
https://github.com/Pumpkin-MC/Pumpkin.git
synced 2026-08-31 08:22:33 +00:00
* 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