From 56776c8149a193eb6636eb4e3efb0d34c439732a Mon Sep 17 00:00:00 2001 From: Chicken Bones Date: Fri, 2 Aug 2013 12:02:01 +1000 Subject: [PATCH] Fix NPE in RayTracer when tracing a null block. --- codechicken/lib/raytracer/RayTracer.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/codechicken/lib/raytracer/RayTracer.java b/codechicken/lib/raytracer/RayTracer.java index 1526ebb..5337d95 100644 --- a/codechicken/lib/raytracer/RayTracer.java +++ b/codechicken/lib/raytracer/RayTracer.java @@ -160,11 +160,15 @@ public class RayTracer public static MovingObjectPosition retraceBlock(World world, EntityPlayer player, int x, int y, int z) { + Block block = Block.blocksList[world.getBlockId(x, y, z)]; + if(block == null) + return null; + Vec3 headVec = Vec3.createVectorHelper(player.posX, (player.posY + 1.62) - player.yOffset, player.posZ); Vec3 lookVec = player.getLook(1.0F); double reach = world.isRemote ? getBlockReachDistance_client() : getBlockReachDistance_server((EntityPlayerMP) player); Vec3 endVec = headVec.addVector(lookVec.xCoord * reach, lookVec.yCoord * reach, lookVec.zCoord * reach); - return Block.blocksList[world.getBlockId(x, y, z)].collisionRayTrace(world, x, y, z, headVec, endVec); + return block.collisionRayTrace(world, x, y, z, headVec, endVec); } private static double getBlockReachDistance_server(EntityPlayerMP player)