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
|
## 🔜 Planned Skills
|
||||||
|
|
||||||
| Skill | Purpose | Status |
|
| Skill | Purpose | Status |
|
||||||
@@ -254,6 +277,8 @@ docs/skills/
|
|||||||
│ └── SKILL.md
|
│ └── SKILL.md
|
||||||
├── gemini-consultation/
|
├── gemini-consultation/
|
||||||
│ └── SKILL.md
|
│ └── SKILL.md
|
||||||
|
├── minecraft-bukkit-pro/
|
||||||
|
│ └── SKILL.md
|
||||||
└── discord-automation/ (skill collection)
|
└── discord-automation/ (skill collection)
|
||||||
├── README.md
|
├── README.md
|
||||||
├── discord-create-channel.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