@Override
    protected void Work(double time_sec)
    {
        if (IsAlive())
        {
            LifeCalc(time_sec);


            if (thirst > 0)
            {
                if(target==null)

                    target = GetNearestObjectByMat(Enums.GMaterials.Woter);

                if (target instanceof LandObject)
                {
                    LandObject o = (LandObject)target;

                    Vec3d delta = new Vec3d(o.GetPos());
                    delta.sub(GetPos());

                    double dist = delta.length();
                    Vec3d pos = new Vec3d(o.GetPos());


                    if (dist < 2)
                    {
                        Move(0d);
                        Eat(target);
                        thirst = 0;
                        target = null;
                    }
                    else
                    {
                        LookTo(target);

                        Move(1d);
                    }
                }
            }
            else
                Move(0d);
        }
    }