feat(skills): Add minecraft-bukkit-pro skill from skill.fish
- Source: sickn33/antigravity-awesome-skills - Covers Bukkit/Spigot/Paper plugin development - Includes event handling, NMS internals, performance patterns - Added Firefrost-specific context for integration with Arbiter - Updated SKILLS-INDEX.md Chronicler #73
This commit is contained in:
@@ -169,6 +169,29 @@
|
||||
|
||||
---
|
||||
|
||||
### minecraft-bukkit-pro
|
||||
**Location:** `docs/skills/minecraft-bukkit-pro/SKILL.md`
|
||||
**Source:** skill.fish (sickn33/antigravity-awesome-skills)
|
||||
**Triggers:** Bukkit, Spigot, Paper, plugin development, Minecraft server plugin, custom plugin
|
||||
|
||||
**Purpose:** Master Minecraft server plugin development with Bukkit, Spigot, and Paper APIs
|
||||
|
||||
**What It Covers:**
|
||||
- Event-driven architecture and listener priorities
|
||||
- Modern Paper API (Adventure, MiniMessage)
|
||||
- NMS internals and Mojang mappings
|
||||
- Performance optimization (hot events, async patterns)
|
||||
- Ecosystem integration (Vault, PlaceholderAPI, databases)
|
||||
- Build systems (Maven/Gradle with shadow/shade)
|
||||
|
||||
**Read This When:**
|
||||
- Building custom Firefrost plugins
|
||||
- Extending existing server plugins
|
||||
- Understanding internal Minecraft server mechanics
|
||||
- Integrating plugins with Arbiter or external APIs
|
||||
|
||||
---
|
||||
|
||||
## 🔜 Planned Skills
|
||||
|
||||
| Skill | Purpose | Status |
|
||||
@@ -254,6 +277,8 @@ docs/skills/
|
||||
│ └── SKILL.md
|
||||
├── gemini-consultation/
|
||||
│ └── SKILL.md
|
||||
├── minecraft-bukkit-pro/
|
||||
│ └── SKILL.md
|
||||
└── discord-automation/ (skill collection)
|
||||
├── README.md
|
||||
├── discord-create-channel.md
|
||||
|
||||
221
docs/skills/minecraft-bukkit-pro/SKILL.md
Normal file
221
docs/skills/minecraft-bukkit-pro/SKILL.md
Normal file
@@ -0,0 +1,221 @@
|
||||
---
|
||||
name: minecraft-bukkit-pro
|
||||
description: |
|
||||
Master Minecraft server plugin development with Bukkit, Spigot, and Paper APIs.
|
||||
Use this skill when developing custom plugins for Firefrost servers, extending
|
||||
existing plugins, or understanding internal Minecraft server mechanics.
|
||||
source: skill.fish (sickn33/antigravity-awesome-skills)
|
||||
---
|
||||
|
||||
# Minecraft Bukkit & Paper Pro
|
||||
|
||||
Master Minecraft server plugin development with Bukkit, Spigot, and Paper APIs with deep knowledge of internal mechanics and modern development patterns.
|
||||
|
||||
---
|
||||
|
||||
## WHEN TO USE
|
||||
|
||||
Use this skill when:
|
||||
- Working on Minecraft Bukkit/Paper plugin development
|
||||
- Needing guidance, best practices, or patterns for server plugins
|
||||
- Building custom Firefrost features (whitelist sync, cross-server chat, etc.)
|
||||
- Understanding how existing plugins work internally
|
||||
|
||||
Do not use when:
|
||||
- Working with Forge/NeoForge/Fabric mods (different ecosystem)
|
||||
- Managing servers via Pterodactyl (use other skills)
|
||||
- General Minecraft gameplay questions
|
||||
|
||||
---
|
||||
|
||||
## CORE EXPERTISE
|
||||
|
||||
### API Mastery
|
||||
- Event-driven architecture with listener priorities and custom events
|
||||
- Modern Paper API features (Adventure, MiniMessage, Lifecycle API)
|
||||
- Command systems using Brigadier framework and tab completion
|
||||
- Inventory GUI systems with NBT manipulation
|
||||
- World generation and chunk management
|
||||
- Entity AI and pathfinding customization
|
||||
|
||||
### Internal Mechanics
|
||||
- NMS (net.minecraft.server) internals and Mojang mappings
|
||||
- Packet manipulation and protocol handling
|
||||
- Reflection patterns for cross-version compatibility
|
||||
- Paperweight-userdev for deobfuscated development
|
||||
- Custom entity implementations and behaviors
|
||||
- Server tick optimization and timing analysis
|
||||
|
||||
### Performance Engineering
|
||||
- Hot event optimization (PlayerMoveEvent, BlockPhysicsEvent)
|
||||
- Async operations for I/O and database queries
|
||||
- Chunk loading strategies and region file management
|
||||
- Memory profiling and garbage collection tuning
|
||||
- Thread pool management and concurrent collections
|
||||
- Spark profiler integration for production debugging
|
||||
|
||||
### Ecosystem Integration
|
||||
- Vault, PlaceholderAPI, ProtocolLib advanced usage
|
||||
- Database systems (MySQL, Redis, MongoDB) with HikariCP
|
||||
- Message queue integration for network communication
|
||||
- Web API integration and webhook systems
|
||||
- Cross-server synchronization patterns
|
||||
- Docker deployment and Kubernetes orchestration
|
||||
|
||||
---
|
||||
|
||||
## DEVELOPMENT PHILOSOPHY
|
||||
|
||||
### Research First
|
||||
Always use WebSearch for current best practices and existing solutions
|
||||
|
||||
### Architecture Matters
|
||||
Design with SOLID principles and design patterns
|
||||
|
||||
### Performance Critical
|
||||
Profile before optimizing, measure impact
|
||||
|
||||
### Version Awareness
|
||||
Detect server type (Bukkit/Spigot/Paper) and use appropriate APIs
|
||||
|
||||
### Modern When Possible
|
||||
Use modern APIs when available, with fallbacks for compatibility
|
||||
|
||||
### Test Everything
|
||||
Unit tests with MockBukkit, integration tests on real servers
|
||||
|
||||
---
|
||||
|
||||
## TECHNICAL APPROACH
|
||||
|
||||
### Project Analysis
|
||||
1. Examine build configuration for dependencies and target versions
|
||||
2. Identify existing patterns and architectural decisions
|
||||
3. Assess performance requirements and scalability needs
|
||||
4. Review security implications and attack vectors
|
||||
|
||||
### Implementation Strategy
|
||||
1. Start with minimal viable functionality
|
||||
2. Layer in features with proper separation of concerns
|
||||
3. Implement comprehensive error handling and recovery
|
||||
4. Add metrics and monitoring hooks
|
||||
5. Document with JavaDoc and user guides
|
||||
|
||||
### Quality Standards
|
||||
- Follow Google Java Style Guide
|
||||
- Implement defensive programming practices
|
||||
- Use immutable objects and builder patterns
|
||||
- Apply dependency injection where appropriate
|
||||
- Maintain backward compatibility when possible
|
||||
|
||||
---
|
||||
|
||||
## OUTPUT EXCELLENCE
|
||||
|
||||
### Code Structure
|
||||
- Clean package organization by feature
|
||||
- Service layer for business logic
|
||||
- Repository pattern for data access
|
||||
- Factory pattern for object creation
|
||||
- Event bus for internal communication
|
||||
|
||||
### Configuration
|
||||
- YAML with detailed comments and examples
|
||||
- Version-appropriate text formatting (MiniMessage for Paper, legacy for Bukkit/Spigot)
|
||||
- Gradual migration paths for config updates
|
||||
- Environment variable support for containers
|
||||
- Feature flags for experimental functionality
|
||||
|
||||
### Build System
|
||||
- Maven/Gradle with proper dependency management
|
||||
- Shade/shadow for dependency relocation
|
||||
- Multi-module projects for version abstraction
|
||||
- CI/CD integration with automated testing
|
||||
- Semantic versioning and changelog generation
|
||||
|
||||
### Documentation
|
||||
- Comprehensive README with quick start
|
||||
- Wiki documentation for advanced features
|
||||
- API documentation for developer extensions
|
||||
- Migration guides for version updates
|
||||
- Performance tuning guidelines
|
||||
|
||||
---
|
||||
|
||||
## QUICK REFERENCE
|
||||
|
||||
### Channel Types (for reference)
|
||||
| Type | Description |
|
||||
|------|-------------|
|
||||
| 0 | Text channel |
|
||||
| 2 | Voice channel |
|
||||
| 4 | Category |
|
||||
| 5 | Announcement |
|
||||
| 13 | Stage |
|
||||
| 15 | Forum |
|
||||
|
||||
### Common Event Priorities
|
||||
```java
|
||||
@EventHandler(priority = EventPriority.LOWEST) // First to run
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
@EventHandler(priority = EventPriority.NORMAL) // Default
|
||||
@EventHandler(priority = EventPriority.HIGH)
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
@EventHandler(priority = EventPriority.MONITOR) // Last, read-only
|
||||
```
|
||||
|
||||
### Basic Plugin Structure
|
||||
```java
|
||||
public class MyPlugin extends JavaPlugin {
|
||||
@Override
|
||||
public void onEnable() {
|
||||
// Load config
|
||||
saveDefaultConfig();
|
||||
|
||||
// Register listeners
|
||||
getServer().getPluginManager().registerEvents(new MyListener(), this);
|
||||
|
||||
// Register commands
|
||||
getCommand("mycommand").setExecutor(new MyCommand());
|
||||
|
||||
getLogger().info("Plugin enabled!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
getLogger().info("Plugin disabled!");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Async Database Pattern
|
||||
```java
|
||||
Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
|
||||
// Database operations here (off main thread)
|
||||
String result = database.query("SELECT * FROM players");
|
||||
|
||||
// Return to main thread for Bukkit API calls
|
||||
Bukkit.getScheduler().runTask(plugin, () -> {
|
||||
player.sendMessage("Query complete: " + result);
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## FIREFROST CONTEXT
|
||||
|
||||
When building plugins for Firefrost:
|
||||
- Consider integration with Arbiter for subscriber verification
|
||||
- Use consistent branding (Fire/Frost colors)
|
||||
- Document for future Chroniclers
|
||||
- Test on Dev Panel before production deployment
|
||||
|
||||
---
|
||||
|
||||
**Source:** skill.fish — sickn33/antigravity-awesome-skills
|
||||
**Added:** 2026-04-09 by Chronicler #73
|
||||
|
||||
---
|
||||
|
||||
**Fire + Frost + Foundation = Where Love Builds Legacy** 💙🔥❄️
|
||||
Reference in New Issue
Block a user