// Timer.java public class Timer { public Timer () { old = 0.0D; time = 0.0D; start = 0.0D; current = 0.0D; running = false; } private double clock () { return (double)System.currentTimeMillis () / 1000D; } public final double delta () { if (running) { double d = clock (); double d1 = d - old; old = d; if (d1 < 0.0D) d1 = 0.0D; return d1; } else {return 0.0D;} } public final double resolution () {return 0.001D;} public final void set (double d) { current = d; start = clock (); time = start + d; old = d - delta (); } public final void start () { if (!running) { start = clock (); old = clock (); running = true; } } public final void stop () {running = false;} public final double time () { if (running) { double d = clock (); if (d > time) time = d; current = d - start; } return current; } private double old, time, start, current; private boolean running; }