| name | meteor-addon |
| description | Meteor Client addon development for Minecraft. Use when creating, updating, or working with Meteor Client addons - a Fabric mod framework for Minecraft. Covers workspace setup from the template repository, updating addons when Minecraft/Meteor versions change, finding reference implementations from verified addons, and understanding Meteor's addon structure and APIs. |
Meteor Client Addon Development
This skill provides guidance for developing addons for Meteor Client, a Fabric-based Minecraft utility mod.
Key Resources
- Template Repository: https://github.com/MeteorDevelopment/meteor-addon-template
- Meteor Client Source: https://github.com/MeteorDevelopment/meteor-client
- Addon Database: https://raw.githubusercontent.com/cqb13/meteor-addon-scanner/refs/heads/addons/addons.json
Workflow Overview
- Setup: Start from the template or clone existing addon
- Update Check: Verify template is current with Meteor/Minecraft versions
- Development: Implement features following Meteor patterns
- Reference: Use filter_addons.py to find examples from verified addons when needed
When you need to find reference implementations, always use the filter_addons.py script to search the addon database rather than manually browsing GitHub or guessing repository URLs.
Starting a New Addon
From Template
Clone the meteor-addon-template and customize:
git clone https://github.com/MeteorDevelopment/meteor-addon-template my-addon
cd my-addon
Check if template needs updating by comparing against meteor-client:
- Clone meteor-client temporarily to workspace:
git clone --depth=1 https://github.com/MeteorDevelopment/meteor-client - Compare key files:
build.gradle,gradle.properties, dependencies, Fabric/Minecraft versions - Update your addon's files to match current versions
Key Files to Configure
gradle.properties: Set Minecraft version, Fabric API version, Meteor dependencybuild.gradle: Configure repositories, dependencies, build settingssrc/main/resources/fabric.mod.json: Define mod metadata, entrypointsrc/main/java/com/example/addon/Addon.java: Main addon class
Updating Existing Addons
When Minecraft or Meteor updates:
- Clone meteor-client for reference:
cd /path/to/workspace
git clone --depth=1 https://github.com/MeteorDevelopment/meteor-client
Check version changes:
- Minecraft version in
gradle.properties - Fabric API version
- Meteor Client version/dependency format
- Java version requirements
- Minecraft version in
Update breaking changes:
- Check meteor-client commit history for API changes
- Look for deprecated methods or refactored classes
- Update imports and method calls
Find updated examples: Use
scripts/filter_addons.pyto find verified addons on current version
Finding Reference Implementations
The addon database contains metadata about all known Meteor Client addons. Use the filter_addons.py script to find high-quality examples for reference.
Basic Usage
# Find verified addons for a specific Minecraft version
python scripts/filter_addons.py --mc-version 1.21.11 --verified
# Find all addons for a version (including unverified)
python scripts/filter_addons.py --mc-version 1.21.11 --no-verified
# Limit results
python scripts/filter_addons.py --mc-version 1.21.11 --verified --limit 10
# Get JSON output for programmatic use
python scripts/filter_addons.py --mc-version 1.21.11 --verified --json
Advanced Filtering
# Find addons with specific features
python scripts/filter_addons.py --feature-type modules --feature-name "AutoTotem"
# Filter by minimum stars
python scripts/filter_addons.py --mc-version 1.21.11 --min-stars 50
# Sort by different criteria
python scripts/filter_addons.py --mc-version 1.21.11 --sort-by last_update
# Include archived repositories (normally excluded)
python scripts/filter_addons.py --mc-version 1.21.11 --include-archived
Important Notes
supported_versions field: Some addons list multiple compatible versions in their custom.supported_versions field. The filter script checks both mc_version and supported_versions when filtering.
None handling: The addon database may contain null values for features lists or supported_versions. The filter script handles these gracefully.
Default behavior: Without --no-verified, the script only shows verified addons by default.
Quality Filtering Rules
Always follow these rules when searching references:
- Skip archived addons - Unless specifically porting legacy code
- Prefer verified addons - Only use unverified if no verified examples exist
- Match versions - Ensure addon's Meteor/Minecraft versions are compatible with your project
- Consider stars - Higher star count often indicates better maintained code
Cloning References
Clone addons for analysis (stores in ai_reference/ or similar):
# Single addon
python scripts/clone_for_analysis.py https://github.com/owner/addon-name
# Multiple from filter results
python scripts/filter_addons.py --mc-version 1.21.1 --verified --limit 5 --json | \
python scripts/clone_for_analysis.py --from-json
# Custom target directory
python scripts/clone_for_analysis.py https://github.com/owner/addon --target ./my_refs
Best practice: If an ai_reference/ directory exists in workspace, use it for storing cloned repos and keep them there (don't cleanup automatically).
Common Addon Structure
Meteor addons typically include:
- Modules (
extends Module): Features that can be toggled on/off - Commands (
extends Command): Chat commands for addon functionality - HUD Elements (
extends HudElement): On-screen display components - Categories: Organize modules in Meteor's GUI
Checking for Breaking Changes
When updating to newer Minecraft/Meteor versions:
- Clone meteor-client to workspace temporarily
- Check commit history: Look for "breaking" or version bump commits
- Compare API surfaces: Check if methods you use still exist
- Look at migration examples: Find other addons that updated successfully
Example workflow:
cd /workspace
git clone --depth=1 https://github.com/MeteorDevelopment/meteor-client
cd meteor-client
git log --oneline --grep="breaking" -20
Working with Legacy Versions
If working with older Minecraft/Meteor versions:
- Use
--include-archivedflag when searching if truly necessary - Specify exact
--mc-versionwhen filtering - Check addon's
custom.supported_versionsfield for compatibility - Be cautious - legacy code may use deprecated patterns
Troubleshooting
Template is Outdated
- Clone meteor-client for current API reference
- Use filter_addons.py to find recently updated verified addons
- Compare their gradle files and dependencies
- Update your project's files to match
Can't Find Version-Compatible Examples
- Check if the version exists in the database:
python scripts/filter_addons.py --mc-version X.XX.XX --no-verified - Remove --verified flag temporarily (less ideal but may be necessary)
- Sort by --sort-by last_update to find recently maintained addons
- Check meteor-client source directly for official examples
Need Specific Feature Implementation
- Search by feature type:
python scripts/filter_addons.py --feature-type modules --feature-name YourFeature - Look at multiple implementations for best practices
- Clone top 3-5 verified addons for comparison
Script Issues
If filter_addons.py encounters errors:
- Ensure you have internet connectivity (script fetches from GitHub)
- Check that Python 3 is installed and available
- The script handles None values gracefully, but very old addon entries may have unexpected data formats
- If a specific addon looks corrupted, use --limit to skip past it
Best Practices
- Keep addon updated with latest Minecraft/Meteor versions
- Follow Meteor's code style and patterns
- Use verified addons as reference when possible
- Store cloned references in
ai_reference/for easy access - Check meteor-client source for authoritative API documentation
- Test with multiple Minecraft versions if supporting ranges