April 5, 20169 yr Author Eh? Maybe if I explained a little better: -Textures switch correctly in the inventory or when the item is held. This works absolutely fine. There are no errors about missing models or anything. -The game crashes when I drop the item, and it becomes an EntityItem. In terms of the models: -In the first instance, every element's name starts with the "element_" prefix. That is the registered model, but it does not actually exist as a resource because its never rendered. -The second instance is checking that it's an element, because every element name starts with "element_" and so do all of the registered model locations. -The third instance, where I used "element-" is the model when it is displayed in the GUI, and it does exist. I understand it's pretty poor and confusing at the moment, and I am slowly going through and tidying everything up. Perhaps it's because one of the models doesn't exist, but surely that wouldn't crash the game, because it should either return one of the two IBakedModel models or display as if the model wasn't found? And the loop - I'm registering 118 different items; surely I can't register 118 different items without looping, and surely it's therefore not the same thing being registered twice? I have no idea what I'm doing.
April 5, 20169 yr Author You're looking at an old version of the ClientProxy there. Try this. That might save a little bit of confusion. I'm still confused about the model-loop thing. Does that mean I could specify any item I liked in there? It requires an item to register, surely? So I need to give both models to every item, no? I didn't realise the "element_" models are actually rendered. In my head, out of sight out of mind. I have no idea what I'm doing.
April 5, 20169 yr Author I'm still confused about the model-loop thing. Does that mean I could specify any item I liked in there? It requires an item to register, surely? So I need to give both models to every item, no?The item there can be any item, as long as it's registered. I don't know why that method takes an Item argument, all it does is make sure the given model will be loaded & baked so it's useable in-game. Where do go from here: Put a breakpoint in your IPAM and check what it does. It should never return null nor itself. Make sure it does not! If it does, check why. Found it! Y'know those methods you said would never be called in the IBakedModel? Well RenderEntityItem calls getItemCameraTransforms , which returns null. To fix it, all I had to do was return ItemCameraTransforms.DEFAULT . It's all deprecated, so as to what the deal is with it, I don't know. It might be worth pointing that out to a Forge model dev or something though... And with that, everything works exactly as it should. Thanks a lot for the help and actually sticking with me. EDIT: I'm on Forge 1.8.9 - 11.15.1.1722 if that helps/matters in any way. I have no idea what I'm doing.
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.