| /** | |
| * 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.src.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(); | |
| } | |
| } |