@Callback(direct = true, limit = CALL_LIMIT)
 public Object[] distanceDown(Context context, Arguments args) {
   camera.reset();
   if (args.count() == 2) {
     camera.setRayDirection(
         entity.getWorldObj(),
         entity.xCoord,
         entity.yCoord,
         entity.zCoord,
         ForgeDirection.DOWN,
         (float) args.checkDouble(0),
         (float) args.checkDouble(1));
   } else {
     camera.setRayDirection(
         entity.getWorldObj(),
         entity.xCoord,
         entity.yCoord,
         entity.zCoord,
         ForgeDirection.DOWN,
         0.0F,
         0.0F);
   }
   return new Object[] {camera.getDistance()};
 }
 @Callback(direct = true, limit = CALL_LIMIT)
 public Object[] distance(Context context, Arguments args) {
   setRayDirection(context, args);
   return new Object[] {camera.getDistance()};
 }