42 lines
931 B
Java
42 lines
931 B
Java
|
/**
|
||
|
* Copyright (c) SpaceToad, 2011
|
||
|
* http://www.mod-buildcraft.com
|
||
|
*
|
||
|
* BuildCraft is distributed under the terms of the Minecraft Mod Public
|
||
|
* License 1.0, or MMPL. Please check the contents of the license located in
|
||
|
* http://www.mod-buildcraft.com/MMPL-1.0.txt
|
||
|
*/
|
||
|
|
||
|
package buildcraft.api.core;
|
||
|
|
||
|
import net.minecraft.world.World;
|
||
|
|
||
|
public class SafeTimeTracker {
|
||
|
|
||
|
private long lastMark = 0;
|
||
|
|
||
|
/**
|
||
|
* Return true if a given delay has passed since last time marked was called successfully.
|
||
|
*/
|
||
|
public boolean markTimeIfDelay(World world, long delay) {
|
||
|
if (world == null)
|
||
|
return false;
|
||
|
|
||
|
long currentTime = world.getWorldTime();
|
||
|
|
||
|
if (currentTime < lastMark) {
|
||
|
lastMark = currentTime;
|
||
|
return false;
|
||
|
} else if (lastMark + delay <= currentTime) {
|
||
|
lastMark = world.getWorldTime();
|
||
|
return true;
|
||
|
} else
|
||
|
return false;
|
||
|
|
||
|
}
|
||
|
|
||
|
public void markTime(World world) {
|
||
|
lastMark = world.getWorldTime();
|
||
|
}
|
||
|
}
|