-
Notifications
You must be signed in to change notification settings - Fork 12
Home
agaricusb edited this page Jun 22, 2013
·
15 revisions
ForgeMod - a Maven parent POM for developing Minecraft Forge mods
See the README at https://github.com/agaricusb/ForgeMod for details how to setup your mod.
Also on this wiki: List of Open Source Forge Mods
- Extremely fast setup and build - 15 seconds and 5 seconds are common (up to 120x-6x faster)
- Easy integration with other projects and systems supporting Maven (IDEs, continuous integration servers like Jenkins, etc.)
- Remapped dependencies can be browsed and analyzed as any other dependency (visible in your IDE, etc.), and new arbitrary remapped mod dependencies are supported (for IC2 integration or whatever, see examples)
- Standard and familiar setup steps lowers barrier to entry for contributing to your mod (especially for open source projects)
- Similar to the process of building Bukkit plugins, Bukkit plugin developers will feel right at home (building against an "API" library)
- No decompilation, avoiding the time, decompile errors, patch fixes required, and need for a decompiler (such as fernflower)
- Existing mods can be adapted to this process in most cases, new mods should have no trouble ether
- Supports coremods and custom access transformers (see examples)
- Works great with various free build services (for example buildhive)
- Open sourced under a permissive license (SpecialSource is BSD-licensed and SpecialSourceMP is Apache-licensed)
- Not well-suited for jarmods (works best with regular Forge mods or coremods; for jarmods use MCP)
- Some existing projects or novel configurations may have difficulty adapting to Maven conventions (but you can use SpecialSource
Experiments adopting existing mods to (or developing new mods using) this build process:
- https://github.com/MinecraftPortCentral/MCPC-Plus - using SpecialSourceMP with a pom.xml similar to ForgeMod, reobfuscating both to 1.5.2 ("B" builds) and 1.5.1 (151compat "C" builds)
- https://github.com/agaricusb/HighlightTips
- https://github.com/agaricusb/ModAnalyzer
- https://github.com/agaricusb/MiscConfiguration
- https://github.com/MinecraftPortCentral/MCPC-Plus - using SpecialSourceMP with a pom.xml similar to ForgeMod
- https://github.com/agaricusb/ModAnalyzer -
- https://github.com/agaricusb/PlaceholderBlocks -
- https://github.com/agaricusb/OreDupeFix -
- https://github.com/agaricusb/NetherOres/tree/maven-dev
- https://github.com/agaricusb/ironchest/tree/maven-dev -
- https://github.com/agaricusb/Equivalent-Exchange-3/tree/maven-dev -
- https://github.com/agaricusb/FlansMod/tree/maven-dev -
- https://github.com/agaricusb/OreDupeFix - first new mod developed with ForgeMod from day 1
- https://github.com/agaricusb/BuildCraft/commits/maven-dev (vanilla) + https://github.com/agaricusb/BuildCraft/commits/mcpc-dev - enhanced version for MCPC+ Forge/Bukkit merge with events, see http://mcportcentral.co.za/wiki/index.php?title=Mods_and_Plugins_for_1.4.7
- https://github.com/agaricusb/OreDupeFix - now fully using; pilot project (good example of a remapped dependency, IC2)
- https://github.com/agaricusb/TinkersConstruct/tree/maven - merged into https://github.com/mDiyo/TinkersConstruct
- https://github.com/agaricusb/ForgeEssentialsMain/tree/maven-dev - builds, but some difficulties adapting to double-zipped distribution - example of a coremod
- https://github.com/agaricusb/ForgeBackup/tree/maven-dev - coremod
- https://github.com/agaricusb/EasyCrafting/tree/maven-dev -
- https://github.com/agaricusb/ironchest/tree/maven-dev-mc147 -