一键导入
build-and-deploy
Build Retromod from source and deploy it to a Minecraft installation for testing. Use when you need to rebuild after code changes and test in-game.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Build Retromod from source and deploy it to a Minecraft installation for testing. Use when you need to rebuild after code changes and test in-game.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create a polyfill provider that re-implements a removed API so old mods still work. Use when mods crash with ClassNotFoundException or NoSuchMethodError for completely removed classes.
Create a new version shim to add support for transforming mods between two Minecraft versions. Use when adding support for a new MC version or filling gaps in the shim chain.
Debug a Minecraft crash caused by a mod that Retromod transformed. Use when a mod crashes after transformation and you need to find and fix the root cause.
Work with Minecraft name mappings: intermediary, Mojang official, SRG, and Yarn. Use when adding new mappings to IntermediaryToMojangMapper, generating mapping files with MappingComposer, or debugging name mismatches.
Work on mod loader compatibility for Fabric, NeoForge, Forge runtime integration, version constraint relaxation, and mod metadata patching. Use when fixing mod loading issues, version rejection errors, or adding support for a new loader version.
Search, download, and work with mods from Modrinth. Use when downloading test mods, checking mod compatibility, or finding mods for a specific MC version and loader.
| name | build-and-deploy |
| description | Build Retromod from source and deploy it to a Minecraft installation for testing. Use when you need to rebuild after code changes and test in-game. |
| argument-hint | --skip-tests or --deploy |
Build Retromod and optionally deploy to the local Minecraft installation.
# Full build with tests
mvn package
# Quick build (skip tests)
mvn package -DskipTests -Dexec.skip=true -q
Output: target/retromod-1.0.0-beta.6.jar
MODS="$HOME/Library/Application Support/minecraft/mods"
cp target/retromod-1.0.0-beta.6.jar "$MODS/retromod-1.0.0-beta.6+26.1.jar"
Since the JAR doesn't include dependencies, use Maven exec:
mvn -f pom.xml exec:java \
-Dexec.mainClass="com.retromod.cli.RetromodCli" \
-Dexec.args="<command> [args]" -q
# Analyze a mod
-Dexec.args="analyze '/path/to/mod.jar'"
# Batch transform
-Dexec.args="batch '/path/to/mods-folder' --aot"
# List shims
-Dexec.args="shims"
# Show help
-Dexec.args="--help"
Retromod/
├── pom.xml # Maven build config (Java 21 target, ASM 9.7)
├── src/main/java/com/retromod/
│ ├── core/ # Core runtime (Retromod, Transformer, Detectors)
│ ├── cli/ # CLI tool (RetromodCli)
│ ├── aot/ # AOT compiler (AotCompiler, FullAotCompiler)
│ ├── shim/ # Version shims by loader
│ │ ├── fabric/ # Fabric shims (1.14→...→26.1)
│ │ ├── neoforge/ # NeoForge shims (1.20.1→...→26.1)
│ │ ├── forge/ # Forge shims (1.12.2→...→1.20)
│ │ ├── api/ # API-specific shims (JEI, Curios, etc.)
│ │ └── ShimRegistry.java # BFS chain finder
│ ├── mapping/ # Name mapping (IntermediaryToMojang, MappingComposer)
│ ├── mixin/ # Mixin compatibility
│ ├── polyfill/ # Removed API polyfills
│ ├── embedder/ # API embedding into mod JARs
│ ├── resources/ # Resource/data pack transforms
│ ├── gui/ # In-game GUI
│ └── agent/ # Java Agent mode
├── src/main/resources/
│ ├── fabric.mod.json # Fabric metadata
│ ├── META-INF/mods.toml # Forge metadata
│ ├── META-INF/neoforge.mods.toml # NeoForge metadata
│ ├── META-INF/services/ # ServiceLoader registrations
│ └── mappings/ # Bundled mapping files
├── src/test/java/ # Tests
├── .github/workflows/ci.yml # GitHub Actions CI
└── .claude/skills/ # Claude development skills
pom.xml has <maven.compiler.source>21</maven.compiler.source>-Dexec.skip=true flag prevents Maven from running the CLI entrypoint during build+26.1.jar)