️ Plugin Developer Tools for Skyfall Proxy
https://img.shields.io/badge/version-1.0.0-blue
https://img.shields.io/badge/Skyfall-1.20--R0.1-green
https://img.shields.io/badge/license-MIT-orange
Accelerate your Skyfall Proxy plugin development!
Plugin Developer Tools is a comprehensive suite of advanced tools designed to simplify and speed up plugin development for Skyfall Proxy. Includes code generators, hot-reload system, integrated debugger, and much more.
✨ Key Features
Rapid Plugin Generation
- 4 Pre-built Templates: Basic, Commands, Events, API
- Automatic Structure: Generates complete project with build.gradle
- Optimized Code: Templates include best practices
Hot-Reload System
- Automatic Detection: Monitors plugin file changes
- Fast Reloading: Reload plugins without proxy restart
- Smart Notifications: Alerts when files are modified
Integrated Debug System
- Detailed Logs: Plugin-specific logging
- Selective Enablement: Debug per individual plugin
- Log History: Keeps last 100 messages
⚡ Development Commands
- Quick Creation: /devtools create <name> <template>
- Plugin Management: /plugin list|info|reload|debug
- Available Templates: /devtools templates
Installation
- Download the PluginDeveloperTools-1.0.0.jar file
- Place it in the plugins/ folder of your Skyfall Proxy
- Restart the proxy or execute /skyfall reload
- Ready! Tools will be available automatically
Quick Start
Create Your First Plugin
bash
/devtools create MyAwesomePlugin basic-plugin
View Loaded Plugins
bash
/plugin list
Enable Debug for a Plugin
bash
/devtools debug MyAwesomePlugin on
View Debug Logs
/plugin debug MyAwesomePlugin
Available Templates
1. basic-plugin
- Basic plugin with minimal structure
- Perfect for beginners or simple projects
- Includes automatic initialization and cleanup
2. command-plugin
- Integrated command system
- Command execution management
- Ideal for plugins with user interaction
3. event-plugin
- Complete event system
- Built-in listener manager
- Perfect for reactive plugins
4. api-plugin
- Exposed API for other plugins
- Includes Singleton pattern
- Ideal for libraries and extensible plugins
️ Complete Commands
Development Commands (/devtools)
Command
Description
Usage
create Create new plugin /devtools create <name> <template>
templates List templates /devtools templates
reload Reload plugin /devtools reload <plugin>
debug Manage debug /devtools debug <plugin> [on|off]
generate Generate project /devtools generate <name>
help Show help /devtools help
Plugin Commands (/plugin)
Command
Description
Usage
list List plugins /plugin list
info Plugin info /plugin info <plugin>
reload Reload plugin /plugin reload <plugin>
debug View debug logs /plugin debug <plugin>
logs Manage logs /plugin logs <plugin> [clear]
Generated Structure
When you create a plugin, this structure is generated:
generated-plugins/
├── src/main/java/
│ └── com/yourcompany/
│ └── myplugin/
│ └── MyPlugin.java
├── src/main/resources/
│ └── plugin.yml
└── build.gradle
⚙️ Configuration
The plugin automatically creates its configuration in:
plugins/PluginDeveloperTools/
├── config.yml
└── templates/
├── basic-plugin.yml
├── command-plugin.yml
├── event-plugin.yml
└── api-plugin.yml
Default Configuration:
# Plugin Developer Tools Configuration
hot-reload:
enabled: true
check-interval: 5
debug:
max-logs: 100
auto-cleanup: true
templates:
auto-update: true
default-package: "com.yourcompany"
Usage Examples
Example 1: Welcome Plugin
/devtools create WelcomePlugin basic-plugin
Example 2: Moderation System
/devtools create ModeratorTools command-plugin
Example 3: Player Analytics
/devtools create PlayerAnalytics event-plugin
Example 4: Economy API
/devtools create EconomyAPI api-plugin
Skyfall API Integration
Generated plugins include complete integration with Skyfall API:
public class MyPlugin implements Skyfall.SkyfallPlugin {
@Override
public void setAPI(Skyfall.SkyfallAPI api) {
// Automatic API connection
this.api = api;
this.logger = api.getLogger();
}
}
Metrics and Statistics
The plugin includes tracking for:
- ✅ Plugin load times
- ✅ Hot-reload events
- ✅ Development command usage
- ✅ Errors and warnings
Troubleshooting
Error: "Template not found"
Solution: Check available templates with /devtools templates
Error: "Cannot reload plugin"
Solution: Some critical plugins cannot be hot-reloaded
Error: "Debug not enabled"
Solution: Use /devtools debug <plugin> on first
Changes not applying
Solution: Ensure hot-reload is enabled in configuration
Contributing
Contributions are welcome! You can:
- Report bugs in the issues section
- Suggest new features
- Add new templates
- Improve documentation
License
This project is licensed under the MIT License. See LICENSE for details.
Technical Features
- Compatibility: Skyfall Proxy 1.20-R0.1+
- Java: Version 11 or higher
- Dependencies: SnakeYAML, GSON (included)
- Performance: Optimized for development
Unique Features
Feature
Benefit
Smart Templates Ready code in seconds
Automatic Hot-Reload Development without restarts
Per-Plugin Debug Specific troubleshooting
Complete Structure Ready-to-compile projects
⚡ Fast Commands Optimized workflow
Upcoming Features
- More specialized templates
- IDE integration
- Code snippet system
- Automatic documentation generator
- Templates for specific game types