use of me.time6628.clag.sponge.runnables.ItemClearer in project CatClearLag by Time6628.
the class CatClearLag method onInit.
@Listener
public void onInit(GameInitializationEvent event) {
getLogger().info("Starting plugin...");
registerCommands();
registerEvents();
tasks = new ArrayList<>();
if (cclConfig.liveTime.enabled) {
this.itemManager = new ItemManager();
getGame().getEventManager().registerListeners(this, itemManager);
getCclService().addCheck(Type.ITEM, entity -> !itemManager.getItems().contains(entity));
}
Scheduler scheduler = getGame().getScheduler();
if (getCclConfig().interval != -1) {
tasks.add(scheduler.createTaskBuilder().execute(new ItemClearer()).delay(cclConfig.interval, TimeUnit.MINUTES).interval(cclConfig.interval, TimeUnit.MINUTES).name("CatClearLag Item Remover").submit(this));
cclConfig.warnings.forEach((d) -> tasks.add(scheduler.createTaskBuilder().execute(new ItemClearingWarning(((cclConfig.interval * 60) - d))).delay(d, TimeUnit.SECONDS).interval(cclConfig.interval, TimeUnit.MINUTES).name("CatClearLag Removal Warnings").submit(this)));
}
tasks.add(scheduler.createTaskBuilder().execute(new EntityChecker()).delay(cclConfig.limits.entityCheckInterval, TimeUnit.MINUTES).interval(cclConfig.limits.entityCheckInterval, TimeUnit.MINUTES).name("CatClearLag hostile checker").submit(this));
}
use of me.time6628.clag.sponge.runnables.ItemClearer in project CatClearLag by Time6628.
the class CatClearLag method onReload.
@Listener
public void onReload(GameReloadEvent event) {
cfgLoader = new ConfigLoader(this);
if (cfgLoader.loadConfig())
cclConfig = cfgLoader.getCclConfig();
if (cfgLoader.loadMessages())
messages = cfgLoader.getMessagesConfig();
for (Task task : tasks) {
task.cancel();
}
tasks = new ArrayList<>();
Task.Builder builder = getGame().getScheduler().createTaskBuilder();
tasks.add(builder.execute(new ItemClearer()).delay(cclConfig.interval, TimeUnit.MINUTES).interval(cclConfig.interval, TimeUnit.MINUTES).name("CatClearLag Item Remover").submit(this));
cclConfig.warnings.forEach((d) -> tasks.add(builder.execute(new ItemClearingWarning(((cclConfig.interval * 60) - d))).delay(d, TimeUnit.SECONDS).interval(cclConfig.interval, TimeUnit.MINUTES).name("CatClearLag Removal Warnings").submit(this)));
tasks.add(builder.execute(new EntityChecker()).delay(cclConfig.limits.entityCheckInterval, TimeUnit.MINUTES).interval(cclConfig.limits.entityCheckInterval, TimeUnit.MINUTES).name("CatClearLag hostile checker").submit(this));
}
Aggregations