Posted April 12, 201411 yr Hey guys! I've got a 1.6.4 Forge 964 environment up and I'm getting a really weird issue with my code (that used to work fine [i hate these ones...]) Basically, I'm getting an error that says exception IOException is never thrown in body of corresponding try statement in the code: protected ResourceLocation findResource(String feat) { ResourceLocation rl = getResourceManual(feat+".png"); try { Resource res = FMLClientHandler.instance().getClient().getResourceManager().getResource(rl); //Verify existence return rl; } catch (IOException ioe) { if (parentStyle != null) return parentStyle.getResource(feat); else return rl; } } Here's the really strange part: if I open to where getResource() is (ResourceManager interface), I see that it quite plainly says [color=blue]throws IOException[/color] and that the implementing classes do indeed throw IOExceptions. What the heck is going on?! Also, theoretically unrelated to the above, I'm now getting this when compiling with Gradle (the above happens in Gradle and Eclipse): X:\Modding\Projects\MLCore\build\sources\java\ml\core\texture\maps\BasicCustomTextureMap.java:14: error: loadTexture(ResourceManager) in TextureMap cannot implement loadTexture(ResourceManager) in TextureObject public class BasicCustomTextureMap extends CustomTextureMap { ^ overridden method does not throw IOException ...which (one) looks like two errors to me, and (two) neither of them even seem to apply to my code; I don't override anything that throws an IOException, and TextureMap & TextureObject are both vanilla MC. If anyone could help with either or both of the above, I would appreciate it!
April 12, 201411 yr Hi Have you accidentally modified the vanilla source, by any chance? Try a reinstall of the vanilla + forge source? -TGG
April 12, 201411 yr Author I'm using Gradle set up with a Dev workspace instead of a decompiled one, so I don't think it's even possible for me to have modified anything but my code.
April 12, 201411 yr Author It's almost like it isn't reading the MC 'library' correctly when recompiling. In both errors, the recompiler isn't recognizing a "throws IOException" when it should. I looked at the decompiled code and used jd-gui to look at the deobfuscated code. The decompiled code had the correct "throws IOException" bits, but the deobfuscated code did not. What is to be made of this? @TheGreyGhost I just tried restarting with a clean workspace as well, but to no avail.
April 13, 201411 yr Hi When I cut & paste your fragment into my 1.6.4 code, it compiles fine. I remember hearing that the 1.6.4 Gradle setup was a bit flaky. Do you have a non-gradle setup for 1.6.4 you could try? Might be a bug in the deobfuscator, perhaps post in the forge Support & bug report section. -TGG
April 13, 201411 yr Author Yeah, I can revert it back to before Gradle. Was your test a 1.6.4 or a 1.7.2?
April 13, 201411 yr Hi This is the build I tested it on #Sat, 16 Nov 2013 18:30:21 -0500 fmlbuild.major.number=6 fmlbuild.minor.number=4 fmlbuild.revision.number=45 fmlbuild.githash=g23baf3a fmlbuild.mcpversion=8.11 fmlbuild.mcversion=1.6.4 fmlbuild.branch=master fmlbuild.build.number=953 -TGG
April 13, 201411 yr Author Mine was a 964, I'll have to try and do it on a 953 and see what happens. Now if I can only get Gradle to correctly resolve the dependency for a version that is not 964... EDIT: Oh. 953 isn't Gradle.
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.