Jump to content

[1.19.3] Confusing index out of bounds exception


DrNickenstein

Recommended Posts

After a few tries rendering the left arm on the screen together with someone from here I finally got it to work (it renders correctly) but when I right click to use my item, under certain circumstances unknown to me, an index out of bounds exception is thrown. In the following code, line 83 is the renderer#renderLeftHand method call. Looking at the methods in the stack trace, it looks like the issue might be the player parameter as it is the only one in common with said methods until the end. Should I get the player in some other way? I can't get it from the event directly. Is it another issue that I didn't catch?

 

The event hook is the following: 

https://gist.github.com/DrNickenstein/d89af6a1ced023b9b017b2510d1fcd81

 

The latest log is this one:

 https://pastebin.com/myF5ZBj0

Link to comment
Share on other sites

3 hours ago, ChampionAsh5357 said:

This seems to be an issue with the arm pose which is not shown in the code above. How have you created the arm pose and where are you registering it?

I'm creating the arm pose elsewhere and I didn't think it was involved in the error since it was always there and this issue only showed up now.

 

Anyway, this is it: https://gist.github.com/DrNickenstein/db36043cb2f8d91a6f272c2834409444

 

This code is located in my item class. Initially I thought it had something to do with the pose index in the switch or something like that but then it is out of my comprehension why that wouldn't be a consistent error. As I said, it is in fact an exception that isn't getting thrown every single time. It's not uncommon either though if that can help

Link to comment
Share on other sites

3 hours ago, ChampionAsh5357 said:

Yeah, that's wrong. You should only be creating the arm pose once; specifically during the mod initialization. Creating it multiple times dynamically will confuse the enum and it will have the incorrect information associated with it.

That's weird because I got that code from the forge wiki. Where should I create it? Are there specific forge registries for this?

Link to comment
Share on other sites

15 hours ago, ChampionAsh5357 said:

Yeah, that's wrong. You should only be creating the arm pose once; specifically during the mod initialization. Creating it multiple times dynamically will confuse the enum and it will have the incorrect information associated with it.

Nevermind that variable has to be static for the reason you wrote, that should fix it

Link to comment
Share on other sites

15 hours ago, DrNickenstein said:

That's weird because I got that code from the forge wiki. Where should I create it? Are there specific forge registries for this?

Ok, I found what you're talking about. At no point does the wiki say to make the arm pose in a method. It should say it's a constant though so that the field is created at the class level.

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.