Uristqwerty/CraftGuide — pull request #10 by Parker8283 (2014-06-28 22:27:39+00:00)
Title: Cleaned up Workspace

If you don't read this entire thing and just see that I've implemented a ForgeGradle workspace and ignore it, you've failed.

I seriously have no clue why people are so against ForgeGradle. It's a flexible and powerful build system. Works on all platforms (a problem that you have with your current build system) and setting up and using is easy (a problem that you have with your current build system). Clone repo. Run `gradlew setupDecompWorkspace eclipse`. Open project in eclipse. See that the project has been set up for BOTH Forge and LiteLoader. Yes, FG has support for both. Do your coding stuffz. You'll have to create run configurations (which isn't that hard. I could give you what you need.) Then, to build, run `gradlew build` (or to be safer `gradlew clean build`, which only cleans the build folder and not everything. This ensures that the right files get put into your mod). Then you'll have your CraftGuide-${version}-forge.jar (yes, a jar file) and your CraftGuide-${version}-liteloader.litemod. The forge and liteloader classifiers are added by ForgeGradle. Also, I've added compiling of an API Jar, a deobfuscated Jar, and a sources attachment that works for both. This allows for easy developing of integrations for CraftGuide. This also centralizes the mod version number to one location, your build.gradle file. You change it there, and it's changed everywhere. Your CraftGuide_FML.java, LiteMod_CraftGuide.java, mcmod.info, and litemod.json. ForgeGradle is easier to use and is available across platforms. Two things your current system doesn't have.

When you say you don't want to use ForgeGradle, you give the reason that you want the ability to have different loaders/no loader. Think about how many mods **don't** use Forge or LiteLoader. I know that some mods do use other things/nothing, but they also have a Forge or LiteLoader version. And if a system becomes popular, just poke Abrar to see if maybe it could be added for ForgeGradle. That way, you could probably just apply the plugin and everything works. But for the most part, I can't think of a system that is more widely used than Forge. Forge is **the** system for making mods at this point. And where people aren't using Forge, they're using LiteLoader. There's no point in adding another system, when the two that you're supporting right now are the two most widely used systems. Also, pure coremodding is gone. Have a loader of some sort, always.

As a side note, the BC5 integration is gone because it's kinda hard to compile two different versions of the same API, and 6.0.x is baselined anyway because 6.1.x is around the corner. No sense in supporting 5.x at this point. Also did change some srgnames to mcpnames because that's what Forge had, and was throwing errors at me for using them and not the mcpnames. Also, sorry about the multiple commits with the same name. Was trying to squash. Obviously had problems. :P

I really enjoy your mod, and use it whenever I'm not using Waila (and therefore I need to use NEI). It's an amazing mod. For those reasons, I'm helping you step into the next generation of modding. I too was stubborn about ForgeGradle, (...until I took...nope...nope...) But we all have to move on at some point. And believe me, when you begin using it, you'll appreciate how much easier it is than your current system. If you have any questions about what I did, ask. I'll be happy to tell you why.