Posted November 23, 201410 yr Howdy All I'm having a problem while debugging a new mod. I am using the standard structure of src/main/java and src/main/resources But when I Debug Minecraft Client, all resources are not found (mcmod.info, lang, textures, etc). If I use the gradle runClient instead, it all works fine. Debug Minecraft Client copies the resources to build\resources and the mod code goes into build\classes During mod initialisation, the FMLFolderResourcePack for the mod is added as build\classes\main Any help on why the resources are being copied to the wrong place? -TGG
November 24, 201410 yr Hi, my 12 yo son challenged me to start modding on Friday and after slogging thru various tutorials, I got stuck on this exact problem. I'm no gradle expert(yet!), but I came to realize that the processResources task provided in the vanilla build.gradle file was just not leaving the build dir in the state that the FMLFolderResourcePack expects (as you point out). After 2 days of trial and error, this change to the build.gradle file finally works for me (it does cough up some warnings, sorry). FWIW, my IDE is Intellij IDEA... 14.0.1 w/ gradle 1.12 This config does update the version strings within mcmod.info, and the resulting jar file looks correct also. Now, onto making my freshly-textured block actually do something processResources.doLast { description 'Copies resource files to dir FML expects resourcePack to be' // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version ext.srcFiles = "$projectDir/src/main/resources" ext.destDir = "$projectDir/build/classes/main" // registering inputs & outputs allow gradle to skip if UP-TO-DATE inputs.files srcFiles outputs.dir destDir println 'starting processResources' println 'srcFiles: ' + srcFiles println 'destDir: ' + destDir copy { // replace stuff in mcmod.info, nothing else from(srcFiles) into(destDir) include 'mcmod.info' // replace version and mcversion expand 'version': project.version, 'mcversion': project.minecraft.version } copy { // copy everything else, thats not the mcmod.info from(srcFiles) into(destDir) exclude 'mcmod.info' } }
November 25, 201410 yr Author Hi Keen, thanks. The biggest frustration I have with the whole FML, gradle setup etc is the lack of decent documentation. It does all its magic and it's great when it works, but god help you if something goes wrong because you've then got to dig for hours through the bowels of the code trying to guess at how it's supposed to work and pinpoint what is going wrong. TI-99/4A huh? The graphics look kind of Minecraft-y I guess... -TGG
November 25, 201410 yr Author Aha. http://www.minecraftforge.net/forum/index.php/topic,25120.msg128867.html#msg128867 I just upgraded to IntelliJ 14, that explains a lot. -TGG
November 29, 201410 yr Author PS If you don't want to change the build.gradle, you can also use an IntelliJ artifact to copy the resources to the correct folder i.e. from C:\Users\TGG\Documents\JavaSources\HiddenMessages\src\main to C:\Users\TGG\Documents\JavaSources\HiddenMessages\build\classes\main Project Structure ->Artifacts Add new artifact (green +) Type: Other Give it a name eg CopyResources' Output Directory C:\Users\TGG\Documents\JavaSources\HiddenMessages\build\classes\main Add Copy of (green + with small down arrow) Directory: 'resources directory content' C:\Users\TGG\Documents\JavaSources\HiddenMessages\src\main OK to save Then, add the CopyResources artifact to "before launch" on the Run/Debug configurations. eg Run->Edit Configurations->Application->Minecraft Client - add to 'before launch' box at the bottom. -TGG
December 25, 201410 yr For people finding this topic through Google or Search (like me) Here's the correct settings for the Artifact like TheGreyGhost proposed.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.