mirror of
https://github.com/Pumpkin-MC/Pumpkin
synced 2025-02-18 22:29:07 +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
133 lines
2.3 KiB
Plaintext
133 lines
2.3 KiB
Plaintext
# === APPLE FILE SYSTEM CRAP ===
|
|
# General
|
|
.DS_Store
|
|
.AppleDouble
|
|
.LSOverride
|
|
|
|
# Icon must end with two \r
|
|
Icon
|
|
|
|
# Intellij IDEA
|
|
.idea
|
|
|
|
# Thumbnails
|
|
._*
|
|
|
|
# Files that might appear in the root of a volume
|
|
.DocumentRevisions-V100
|
|
.fseventsd
|
|
.Spotlight-V100
|
|
.TemporaryItems
|
|
.Trashes
|
|
.VolumeIcon.icns
|
|
.com.apple.timemachine.donotpresent
|
|
|
|
# Directories potentially created on remote AFP share
|
|
.AppleDB
|
|
.AppleDesktop
|
|
Network Trash Folder
|
|
Temporary Items
|
|
.apdisk
|
|
|
|
# === JAVA COMPILED CODE AND LOGS ===
|
|
# Compiled class file
|
|
*.class
|
|
|
|
# Log file
|
|
*.log
|
|
|
|
# BlueJ files
|
|
*.ctxt
|
|
|
|
# Mobile Tools for Java (J2ME)
|
|
.mtj.tmp/
|
|
|
|
## Java/Gradle Stuff
|
|
.gradle
|
|
!src/**/build/
|
|
.kotlin
|
|
|
|
# Ignore Gradle GUI config
|
|
gradle-app.setting
|
|
|
|
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
|
|
!gradle-wrapper.jar
|
|
|
|
# Avoid ignore Gradle wrappper properties
|
|
!gradle-wrapper.properties
|
|
|
|
# Cache of project
|
|
.gradletasknamecache
|
|
|
|
# Eclipse Gradle plugin generated files
|
|
# Eclipse Core
|
|
.project
|
|
# JDT-specific (Eclipse Java Development Tools)
|
|
.classpath
|
|
|
|
# Package Files #
|
|
*.jar
|
|
*.war
|
|
*.nar
|
|
*.ear
|
|
*.zip
|
|
*.tar.gz
|
|
*.rar
|
|
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
|
hs_err_pid*
|
|
replay_pid*
|
|
|
|
# === RUST BUILDS AND DEBUG ===
|
|
# Generated by Cargo
|
|
# will have compiled files and executables
|
|
debug/
|
|
target/
|
|
|
|
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
|
|
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
|
|
Cargo.lock
|
|
|
|
# These are backup files generated by rustfmt
|
|
**/*.rs.bk
|
|
|
|
# MSVC Windows builds of rustc generate these, which store debugging information
|
|
*.pdb
|
|
|
|
# RustRover
|
|
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
#.idea/
|
|
|
|
# === PROJECT SPECIFIC ===
|
|
plugins/**/*.so
|
|
plugins/**/*.dylib
|
|
plugins/**/*.dll
|
|
world/*
|
|
|
|
# docker-compose
|
|
data/*
|
|
|
|
# project's configurations
|
|
configuration.toml
|
|
features.toml
|
|
|
|
|
|
*.local.nbt
|
|
|
|
|
|
.vscode/settings.json
|
|
|
|
# Documentation
|
|
docs/.vitepress/dist
|
|
docs/.vitepress/cache
|
|
node_modules
|
|
|
|
run/
|
|
|
|
# Benchmarking
|
|
*perf.data*
|
|
*flamegraph.svg
|
|
|