private void recordDamage(Player player, Player damager, double amt) { DamageLog log = logs.get(player.getName()); if (log == null) { log = new DamageLog(player); logs.put(player.getName(), log); } long ticks = plugin.getConfig().getInt("damagelog_ticks"); log.recordDamage(damager, (int) amt, getNowTick() + ticks); scheduleExpireTask(ticks); }
public void run() { scheduled = false; long nowtick = getNowTick(); Iterator<DamageLog> i = logs.values().iterator(); long minremaining = Long.MAX_VALUE; while (i.hasNext()) { DamageLog log = i.next(); long remaining = nowtick - log.getExpiresTick(); if (remaining <= plugin.getConfig().getInt("damagelog_ticks") / 20) { i.remove(); continue; } minremaining = Math.min(minremaining, remaining); } if (minremaining < Long.MAX_VALUE) scheduleExpireTask(minremaining); }
private Configuration getConfig() { return plugin.getConfig(); }
public List<Player> getDamagers(Player player) { DamageLog log = logs.get(player.getName()); if (log != null) return log.getDamagers(plugin.getConfig().getInt("damagelog_min")); else return new ArrayList<Player>(); }