Files
firefrost-operations-manual/docs/skills/minecraft-bukkit-pro/SKILL.md
Claude 0e2c12e35b 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
2026-04-09 12:47:45 +00:00

6.5 KiB

name, description, source
name description source
minecraft-bukkit-pro 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. 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

@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

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

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 💙🔥❄️