/** * Copyright (C) 2012 t7seven7t */ package net.t7seven7t.swornguard.tasks; import net.dmulloy2.util.FormatUtil; import net.t7seven7t.swornguard.SwornGuard; import net.t7seven7t.swornguard.types.PlayerData; import org.bukkit.entity.Player; /** * @author t7seven7t */ public class InmateTimerTask extends DatableRunnable { private final PlayerData data; private final SwornGuard plugin; private long lastMessage; public InmateTimerTask(final SwornGuard plugin, final Player player, final PlayerData data) { super(player); this.plugin = plugin; this.data = data; } @Override public void run() { if (data.isJailed() && player.isOnline()) { long now = System.currentTimeMillis(); plugin.getJailHandler().checkPlayerInJail(player); if (now - data.getLastActivity() > 30000L) { if (now - lastMessage > 20000L) { player.sendMessage(FormatUtil.format(plugin.getMessage("jail_afk"))); lastMessage = now; } } else { if (data.getJailTime() < 0) { data.setJailTime(0); plugin.getJailHandler().unjail(player, null); plugin.getLogHandler().log(plugin.getMessage("jail_log_finish_sentence"), player.getName()); } else { data.setJailTime(data.getJailTime() - 1000); } } } else { this.cancel(); } } }