Jump to content

BuildLight

Forge Modder
  • Posts

    8
  • Joined

  • Last visited

Everything posted by BuildLight

  1. Thanks for the link to the documentation, I now have my answer... the doc says: That's why it works when Java calls natives and not when natives calls Java . Thanks. Now, second question: how to handle this (at least, how to handle this quicker than I actually do)? Can I override the system class loader with forge's one?
  2. As far as I know, only Minecraft's classes/methods/fields are renamed by forge's reobfuscation; so my classes remains unmodified. And since my native only make calls to my own mod, I doubt that it's forge's reobfuscation I think that forge changes the default class loader whereas JNI's env->FindClass keeps the system's one. Is there any way to change the JNI's class loader?
  3. Hello everyone! While working on my chromium API/mod https://github.com/montoyo/mcef I've been playing with the JNI (Java Native Interface) a lot. It works pretty well while you keep playing on a Java-created thread; but if you need to create an object from a native thread and pass it to your FML mod... well, you get some weird exceptions: cannot cast class into the same class, incompatible class change exception, abstract method call exception, etc... This happens when, for instance, you create an object from your C/C++ thread using env->FindClass(), and then passes it to a java method. Sometimes env->FindClass might fail and throw a ClassNotFoundException, or sometimes all the native part works but when using the object from Java it throws one of the exceptions I named before. By the way, I say it happens only with a FML mod because actually it works with a normal Java app. So I have two questions: 1. Obviously FML changes things on the ClassLoader to load mods; can anyone tell me what and how it works? 2. I've fixed those bugs by calling ClassLoader.loadClass() from my native but this is probably very slow... any idea how else I could fix this? Thanks a lot, - BuildLight (aka montoyo)
  4. Well, I hope the next release will be faster and not as laggy as the first one, even if the Java 32bit restriction makes the game very laggy En tout cas, merci
  5. Hi, Nah FMLServerStoppingEvent is not what i'm searching... but instead I found an interesting thing: Runtime.getRuntime().addShutdownHook(....) I'm sure that will help me And thanks for the finalize() function, it's working like expected ^^ Thanks a lot again, BuildLight.
  6. I'm sorry if this problem was resolved, or if what's I'm going to say was already been answered (let's say that I didn't read the full topic ^^), but have you tried LanguageRegistry.instance().addStringLocalization("nei.options.keys.gui.wiki", "My Key Name"); ?
  7. Hi everyone, I wanted to ask if there is a way to know if Minecraft is being closed using Forge... is there an event or something? I made a quick search without finding what I was searching for ... I simply need to shutdown some libraries at exit. Oh, and, by the way, maybe someone has some more experience in Java Native Interface, and can help me; here is my question: can I know when an object is collected by the garbage collector? Thanks, BuildLight Everything is for my mod Web Displays.
×
×
  • Create New...

Important Information

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