Jump to content

Recommended Posts

Posted

Hello all,

 

Currently having a bit of an issue with the @GameRegistry.ObjectHolder annotation. Using it like so in Java works just fine:

@GameRegistry.ObjectHolder("tutorialmod:tutorialblock")
public static TutorialBlock tutorialBlock;

However, in Scala, it's a bit of a different story.

@ObjectHolder("tutorialmod:tutorialblock")
final val tutorialBlock: TutorialBlock = null

Trying to access tutorialBlock after it's been registered gives me a NPE, which it shouldn't be doing, because it's already registered. What I'm finding odd here is that it works in Java, but not in Scala. I'd assume that reflection would stay the same between the two languages, but apparently not... Worst-case scenario, I'll just have to initialize that variable manually.

 

I know I'm probably not going to get much by way of help because I'm using Scala, but any help would be greatly appreciated!

Posted (edited)
1 minute ago, diesieben07 said:

Well, Scala doesn't have true static fields,  so the FML reflection code will not find them.

You might want to keep an eye on this pull request.

Hmm, I assumed because this was in a singleton object, that it was static enough :P Thanks for that, will keep an eye on that one.

Edited by TheReturningVoid
typo

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.

Announcements



×
×
  • Create New...

Important Information

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