-
Notifications
You must be signed in to change notification settings - Fork 12
Home
agaricusb edited this page Apr 14, 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.
- 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)
- Open sourced under a permissively 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 this build process:
- 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/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 -
- 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 -