Posted March 12, 201411 yr Hello all! So I'm still working on my magic mod and I'm trying to add a knockback type spell. I'm using this method to get the entity the player is looking at: Minecraft.getMinecraft().objectMouseOver.entityHit; This seems to work ok when I aim at an entity, but if i miss the game crashes with a null pointer exception. I understand why the null pointer is happening, but I'm a bit stuck on how to get around it. I saw someone online use if(Minecraft.getMinecraft().objectMouseOver.entityHit != null) to make sure that entityHit isn't null, but the game seems to just crash at that line. The full code in question is: if(Minecraft.getMinecraft().objectMouseOver.entityHit != null){ //<--- Seems to crash here if(Minecraft.getMinecraft().objectMouseOver.entityHit instanceof EntityLiving){ Entity target= Minecraft.getMinecraft().objectMouseOver.entityHit; Vec3 look= player.getLookVec(); ((EntityLiving)target).motionX=look.xCoord*2; ((EntityLiving)target).motionY=look.yCoord*2; ((EntityLiving)target).motionY=look.yCoord*2; } } Does anyone have any tips on how I can make the function return when entityHit is null? Or does anyone know a better way to do what I'm trying to do? Any help is much appreciated! Thank you in advance!
March 13, 201411 yr Author Ahh, thank you! So when I was checking if entityHit was null, I got a null Pointer exception because objectMouseOver itself was null. I added in a quick check for that and now it works Thanks a ton, you guys are always great here!
March 13, 201411 yr Author Can I tag one more quick question on here? It has to do with the same code and I believe it's relevant to other people trying to do something similar to this. So I think what I have above is only updating the mob's motion client side, because the mob keeps teleporting back to it's original spot. I've heard that the method Minecraft.getMinecraft().objectMouseOver.entityHit; is client side only. I know how to do basic packet handling but I'm not sure how to get the entity from my packet handler. I tried using the above method again just in case it would work, but the entity keeps teleporting back. This makes sense because the method is still client side only! It there another method I can use which is not client side only? Or, if not, how can I get to the entity from my packet handler to update it's motion on the server?
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.