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!