From 0e2c12e35b8fc85a23b10b902f9d432fd7e6bcca Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 9 Apr 2026 12:47:45 +0000 Subject: [PATCH] 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 --- docs/skills/SKILLS-INDEX.md | 25 +++ docs/skills/minecraft-bukkit-pro/SKILL.md | 221 ++++++++++++++++++++++ 2 files changed, 246 insertions(+) create mode 100644 docs/skills/minecraft-bukkit-pro/SKILL.md diff --git a/docs/skills/SKILLS-INDEX.md b/docs/skills/SKILLS-INDEX.md index 541abf8..14455be 100644 --- a/docs/skills/SKILLS-INDEX.md +++ b/docs/skills/SKILLS-INDEX.md @@ -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 diff --git a/docs/skills/minecraft-bukkit-pro/SKILL.md b/docs/skills/minecraft-bukkit-pro/SKILL.md new file mode 100644 index 0000000..eb29169 --- /dev/null +++ b/docs/skills/minecraft-bukkit-pro/SKILL.md @@ -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** 💙🔥❄️