Maybe add a method to just get raw value too not just as timestamp. This for example can be used to calculate quick how many seconds (in server online time) elapsed from last action.
Hmm... can you elaborate on that? Basically the ingame timestamp has nothing to do with a classic unix timestamp... it just counts the total amount of milliseconds the server was active (unlike a unix timestamp, the count doesn't start from a fixed date)^^ If you create a new server and let it run for 10 seconds, for example, the ingame timestamp would be 10,000 (miliseconds). If you shut it down and restart it after a month and let it run for another 10 seconds, the ingame timestamp would be 20,000 etc.
Under the hood it consists of three components: the total running time of the server (during this session) in millis, minus the world idle time (i.e the amount of time the world was "paused" this session), plus the timestamp when the server was started (basically the ingame timestamp from the previous session).
The total running time is basically already exposed as Server.getRunningTime(). But it returns a float (representing seconds) instead of milliseconds (but I could add another Server.getRunningTimeMillis() method which returns milliseconds instead).