Jump to content

[Solved] Help with Intellij and resources


SuperKamiCatbug

Recommended Posts

Hey all,

I'm new to modding in minecraft, and have started following the tutorials at orangetutorial.com to get started with some basics. Originally, I started using eclipse since I have used it before, and got about as far as making a basic, barebones mod. About all I had changed on my own was fiddle with the mcmod.info file, and the changes were there when I launched minecraft through eclipse. But after seeing some videos I decided I wanted to give Intellij a try. I got things set up and made sure things could compile and run, then continued on with the tutorials which went into adding a block to minecraft, and giving it a texture and a name.  After adding the code described in the tutorial and running minecraft, the block was added, but still with an unlocalized name and no texture, though my texture file and lang file were where they needed to be, and were being put into the proper place in the build directory. At this point I also noticed that the changes I made to the mcmod.info file were also not being recognized. Out of curiosity, I tried compiling a jar with gradlew build and dropping it into the mods folder like I would any mod, outside the dev environment. Done this way, the block had a name and texture, and I could see my mcmod.info changes, so it seems that minecraft in the dev environment isn't able to read in resources properly. Does anyone know how to fix this?

Thanks!

Link to comment
Share on other sites

the en_US.lang file is in src\main\resources\assets\tutorialorange\lang and the texture is in src\resources\assets\tutorialorange\blocks (tutorialorange is the mod id). IntelliJ was setup by running gradlew setupDecompWorkspace --refresh-dependencies, importing the build.gradle file into IntelliJ as a project, and then running gradlew gIR to set up the run commands.

Link to comment
Share on other sites

I know, right? I can see in the forge logs that it recurses through the resource folder while looking for mods, and it does say it found an mcmod.info file. At that point tutorialorange was already identified as a mod. Would that influence anything, with them being read at different times?

 

...Kind of running out of ideas xD

Link to comment
Share on other sites

I see...

I noticed that in the build folder, the classes are in classes\main\<rest of file path> and resources are in resources\main\<rest of file path>. Compared to the jar file from gradlew build, where the classes\main and resources\main parts of those file paths are not present (meaning, there is the contents of classes\main and resources\main together in the jar). Could those extra folders in the build folder be keeping the mod from reading the resources properly?

Link to comment
Share on other sites

Can I see the latest log and the Constants class? (Please use http://gist.github.com or any other pastebin)

Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! |

mah twitter

This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.

Link to comment
Share on other sites

Constants class is here: https://gist.github.com/anonymous/446017088f130204e382

fml-client-latest.log is here: https://gist.github.com/anonymous/247c2769ee21f9b6e31f

latest.log is here: https://gist.github.com/anonymous/639403eea673e0b2c0d6

 

Why are the forge logs split up like that anyways? I don't remember it doing that before...

Link to comment
Share on other sites

I spent a while messing the the debugger to see how FML is loading the mod and it's resources. I was able to find out that it loads the mod with directory build/classes, which is fine...but then when loading resource packs in which to find textures, the same mod location is added as a resource path. Though both build/classes and build/resources are in the classpath, build/resources is never used because no mods were found in it, while build/classes is used as the resource path because it is the mod's class path. This would explain why compiling to a .jar works, because then the class path and resource path are the same. To test, I copied my resources to the build/classes folder, and it worked. How to fix this, though, I have no clue >.>

Link to comment
Share on other sites

Aside from just wanting to try something new, I was also having difficulty getting the code completion in Eclipse to work the way I wanted it to. In IntelliJ it's working perfectly xD but otherwise no particular reason. Yes Eclipse does have lots of features, but I never really used any of them that IntelliJ doesn't have. I actually like the less feature-cluttered workspace lol

Link to comment
Share on other sites

After looking more closely at why it works in Eclipse, I noticed that Eclipse puts everything into a bin folder, both compiled classes and resources. This would make the class path and resource path the same, and so it works properly. So I guess now the question is, how can I set up IntelliJ to put classes and resources in the same directory?

Link to comment
Share on other sites

Most of this is beyond my current knowledge so this may be a stupid question but i noticed toy setup your workspace in a way i am not familiar with.

 

the en_US.lang file is in src\main\resources\assets\tutorialorange\lang and the texture is in src\resources\assets\tutorialorange\blocks (tutorialorange is the mod id). IntelliJ was setup by running gradlew setupDecompWorkspace --refresh-dependencies, importing the build.gradle file into IntelliJ as a project, and then running gradlew gIR to set up the run commands.

 

Have you tried creating a fresh workspace and using

gradlew setupDecompWorkspace

gradlew idea

 

I am the author of Draconic Evolution

Link to comment
Share on other sites

Use diesieben07's tutorial for setting up Forge with IntelliJ. Tutorial found in the tutorials section.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

Well I figured it out. I knew I must have been missing something obvious, and I was...IntelliJ 14 places resources in it's own resource folder, while IntelliJ 13 places them in the classes folder. No tutorials I've seen mentioned a version, but I saw from screenshots that 13 was being used. I had just gone ahead and grabbed the latest though, and apart from the screen displayed when no projects are open, they look almost identical, so it took a while to notice. So yeah, fixed xD

Link to comment
Share on other sites

Well I figured it out. I knew I must have been missing something obvious, and I was...IntelliJ 14 places resources in it's own resource folder, while IntelliJ 13 places them in the classes folder. No tutorials I've seen mentioned a version, but I saw from screenshots that 13 was being used. I had just gone ahead and grabbed the latest though, and apart from the screen displayed when no projects are open, they look almost identical, so it took a while to notice. So yeah, fixed xD

Very nice find! Did you solve it without downgrading to IntelliJ 13 or is downgrading necessary to fix this problem?

Link to comment
Share on other sites

Well I figured it out. I knew I must have been missing something obvious, and I was...IntelliJ 14 places resources in it's own resource folder, while IntelliJ 13 places them in the classes folder. No tutorials I've seen mentioned a version, but I saw from screenshots that 13 was being used. I had just gone ahead and grabbed the latest though, and apart from the screen displayed when no projects are open, they look almost identical, so it took a while to notice. So yeah, fixed xD

Very nice find! Did you solve it without downgrading to IntelliJ 13 or is downgrading necessary to fix this problem?

This bloke came up with a fix

http://www.minecraftforge.net/forum/index.php/topic,25429.msg129629.html#msg129629

 

Well I figured it out. I knew I must have been missing something obvious,

 

You've got a funny definition of "obvious" I must say :)

 

-TGG

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.