support reloads by stopping cleanuptimer
This commit is contained in:
parent
b18fc1f8cf
commit
b1e078493a
@ -10,10 +10,12 @@ import net.govindas.skooldown.expressions.ExprCooldown;
|
|||||||
import net.govindas.skooldown.utilities.CleanupTimer;
|
import net.govindas.skooldown.utilities.CleanupTimer;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
import java.util.Timer;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
public final class Skooldown extends JavaPlugin {
|
public final class Skooldown extends JavaPlugin {
|
||||||
public static ConcurrentHashMap<String, Long> cooldowns = new ConcurrentHashMap<String, Long>();
|
public static ConcurrentHashMap<String, Long> cooldowns = new ConcurrentHashMap<String, Long>();
|
||||||
|
private Timer cleanupTimer;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
@ -27,12 +29,16 @@ public final class Skooldown extends JavaPlugin {
|
|||||||
Skript.registerExpression(ExprCooldown.class, Timespan.class, ExpressionType.PROPERTY, "cooldown %string%");
|
Skript.registerExpression(ExprCooldown.class, Timespan.class, ExpressionType.PROPERTY, "cooldown %string%");
|
||||||
|
|
||||||
getLogger().info("Skript addon enabled!");
|
getLogger().info("Skript addon enabled!");
|
||||||
new CleanupTimer();
|
|
||||||
|
|
||||||
|
cleanupTimer = new CleanupTimer().start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
cooldowns = null;
|
cooldowns = null;
|
||||||
getLogger().info("Skript addon disabled!");
|
getLogger().info("Skript addon disabled!");
|
||||||
|
cleanupTimer.cancel();
|
||||||
|
cleanupTimer = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,8 @@ import java.util.logging.Level;
|
|||||||
|
|
||||||
public class CleanupTimer {
|
public class CleanupTimer {
|
||||||
//Regular Cleanup Timer to prevent memory leaks
|
//Regular Cleanup Timer to prevent memory leaks
|
||||||
public CleanupTimer() {
|
public CleanupTimer() {}
|
||||||
|
public Timer start() {
|
||||||
Timer timer = new Timer();
|
Timer timer = new Timer();
|
||||||
TimerTask regularTask = new TimerTask() {
|
TimerTask regularTask = new TimerTask() {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
@ -39,5 +40,6 @@ public class CleanupTimer {
|
|||||||
//regular schedule
|
//regular schedule
|
||||||
int minutes = 30;
|
int minutes = 30;
|
||||||
timer.schedule(regularTask, 100, 1000 * 60 * minutes);
|
timer.schedule(regularTask, 100, 1000 * 60 * minutes);
|
||||||
|
return timer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user