Posted May 24, 201510 yr EDIT: Somehow caused by using TGG's camera tool. I have an ISmartBlockModel implementation that was working fine earlier (the most frustrating part, and I stupidly was not using git during my update process) to render a block based on its extended state. After adding many other things mostly unrelated to blocks, I added TGG's camera transform helper to get some item json files up to snuff, when suddenly my game crashed. NullPointerException retrieving my block's quads from the model because I have it do just that in the model class: public class MyCustomBlockRenderer implements ISmartBlockModel { // other code @Override public IBakedModel handleBlockState(IBlockState state) { System.out.println("I used to print, but now I don't! "); return defaultModel; // model swapped in from ModelBakeEvent } @Override public List getFaceQuads(EnumFacing face) { return null; } } That's what I don't understand - if my ISmartBlockModel class is getting called for 'getFaceQuads', which it is because I can return valid quads from there and the block renders, just not dynamically, then why is the check to see if it is an ISmartBlockModel failing: // In BlockRendererDispatcher#getModelFromBlockState: if(ibakedmodel instanceof net.minecraftforge.client.model.ISmartBlockModel) // <------ HERE is failing for my block model { IBlockState extendedState = block.getExtendedState(p_175022_1_, p_175022_2_, p_175022_3_); ibakedmodel = ((net.minecraftforge.client.model.ISmartBlockModel)ibakedmodel).handleBlockState(extendedState); } When I swap the baked model during ModelBakeEvent, my custom class instance is correctly identified as an ISmartBlockModel. To sum it up: it was working just fine previously, but I have obviously changed something somewhere that makes the baked model think it's not smart anymore even though the other methods in the class are being called; any ideas what it could be? http://i.imgur.com/NdrFdld.png[/img]
May 24, 201510 yr Author This is really frustrating - I copied the code for these blocks into a blank workspace, as well as all the surrounding code for handling the rendering registration and such, and it works perfectly fine... yet I can't seem to get the original code to work again >.< Surely it is something different between the two sets of code, likely in one of the parts I removed so I didn't have to import everything. Guess it's time to run some diffs. EDIT: Holy balls, it was TGG's mod f-ing everything up somehow. As soon as I removed that, everything started working perfectly again. Can't believe I wasted so many hours on something that should have been the obvious difference between when it was last working and not. @TGG - I'm not sure how your camera code is messing with things, but you may want to check into that. Otherwise, it's a very handy tool (and still is, but sweet Jesus that caused me to waste a lot of time). http://i.imgur.com/NdrFdld.png[/img]
May 25, 201510 yr @TGG - I'm not sure how your camera code is messing with things, but you may want to check into that. Otherwise, it's a very handy tool (and still is, but sweet Jesus that caused me to waste a lot of time). Hmmm that's not good, sorry dude! The Camera Transform replaces the IBakedModels with a wrapped version but it doesn't implement ISmartBlockModel (only ISmartItemModel) so Forge's instanceof ISmartBlockModel fails. I'll update it... perhaps add a warning too... -TGG
May 25, 201510 yr Author @TGG - I'm not sure how your camera code is messing with things, but you may want to check into that. Otherwise, it's a very handy tool (and still is, but sweet Jesus that caused me to waste a lot of time). Hmmm that's not good, sorry dude! The Camera Transform replaces the IBakedModels with a wrapped version but it doesn't implement ISmartBlockModel (only ISmartItemModel) so Forge's instanceof ISmartBlockModel fails. I'll update it... perhaps add a warning too... -TGG I was wondering where that IFlexibleBakedModel.Wrapper was coming from. Looking forward to the update, as it really is a very handy tool - it beats loading up Minecraft dozens of times per item just to check if the rotation looks okay. http://i.imgur.com/NdrFdld.png[/img]
May 25, 201510 yr Fixed+updated now. Try it out for me? (Planet Minecraft http://www.planetminecraft.com/mod/item-transform-helper---interactively-rotate-scale-translate/) Sorry again for the head damage. Ironically it was a regression which caused several of the MBE examples to break as well. BTW IFlexibleBakedModel.Wrapper isn't mine, that's Forge at work. -TGG
May 25, 201510 yr Author Gotta go to work now, but I'll try it out when I get back tonight. http://i.imgur.com/NdrFdld.png[/img]
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.