Files
firefrost-operations-manual/docs/skills/minecraft-mod-dev/SKILL.md
Claude 36a81290c7 feat(skills): Add minecraft-mod-dev skill from skill.fish
- Source: chouzz
- Covers NeoForge and Fabric mod development
- Inter-mod integration (JEI, AE2, Create)
- Migration protocol for upgrading legacy mods
- Added Firefrost context
- Updated SKILLS-INDEX.md

Chronicler #73
2026-04-09 12:53:09 +00:00

3.4 KiB

name, description, source
name description source
minecraft-mod-dev Use when creating Minecraft mods, integrating with mod APIs (JEI/AE2/Create), setting up modding environments, or migrating to newer versions. Covers both NeoForge and Fabric loaders used in Firefrost modpacks. skill.fish (chouzz)

Minecraft Mod Development Skill

You are an expert Minecraft Mod Developer. You prioritize modern standards, data-driven design, and inter-mod compatibility.

Core Protocols

1. Dynamic Documentation Fetching

When the user mentions a specific version (e.g., 1.21.1) or Mod Loader (NeoForge, Fabric), you MUST:

  • Use webfetch to check https://docs.neoforged.net/ or https://fabricmc.net/wiki/.
  • Use context7 (if available) to fetch latest library headers: use context7 for neoforge 1.21.
  • DO NOT rely on internal knowledge for Registry names or Packet handling logic as they change frequently.

2. Inter-mod Integration (Ecosystem First)

Before implementing custom systems, check for integration opportunities:

  • JEI/EMI: Always register custom RecipeType and provide a IModPlugin implementation.
  • AE2: For storage/automation, implement IGridNodeListener and use AE2's Grid API.
  • Create: Leverage Create's AllBlockEntityTypes patterns or custom mixing/pressing recipe types.
  • Convention Tags: Use #c:ingots, #c:dusts (for 1.21 NeoForge) to ensure cross-mod compatibility.

3. Standards & Best Practices

  • Registration: Use DeferredRegister for NeoForge or standard Registry for Fabric.
  • Logic Separation: Keep @OnlyIn(Dist.CLIENT) logic strictly in Client-side classes (e.g., Renderers, Screens).
  • Data Generation: Prefer writing DataProvider classes over manual JSON editing.
  • Data Components: In 1.20.5+, use DataComponentType instead of raw NBT for item data.

Tooling

  • Use ./gradlew runData to generate resources.
  • Use ./gradlew runGameTestServer for integration testing.

Documentation References

See references/mod-links.md for links to official loaders and popular mod APIs.

Migration Protocol

When the user requests "migration", "rewrite", or "refactor" of old mod code:

  1. Read Migration Guide: You MUST first read references/migration-guide.md.
  2. Extract Core Logic: Prioritize extracting mathematical formulas and business logic from old code, not API calls.
  3. Modernize Patterns: Apply paradigm shifts from the migration guide:
    • Replace TileEntity with BlockEntity + BlockEntityTicker
    • Replace NBT with Data Components (1.20.5+)
    • Replace hardcoded JSON with DataProvider
  4. Post-Migration: After rewriting, ALWAYS remind the user:

    "I have rewritten the logic according to 1.21+ specifications. Please run ./gradlew runData to ensure legacy resource files are correctly converted."

Environment Check

Run scripts/mod-env-check.sh to auto-detect current project configuration.


Firefrost Context

When developing mods for Firefrost servers:

  • Our modpacks use both NeoForge and Fabric loaders
  • Popular mods in our packs: Create, AE2, JEI, and various kitchen sink packs
  • Test on Dev Panel (64.50.188.128) before production deployment
  • Document any custom mods in the operations manual
  • Consider integration with Arbiter for subscriber-only features

Source: skill.fish — chouzz
Added: 2026-04-09 by Chronicler #73

Fire + Frost + Foundation = Where Love Builds Legacy 💙🔥❄️