AutoBroadcastModule.java
package dev.aura.bungeechat.module;
import com.typesafe.config.Config;
import dev.aura.bungeechat.BungeeChat;
import dev.aura.bungeechat.message.MessagesService;
import dev.aura.bungeechat.task.AutomaticBroadcastTask;
import java.util.concurrent.TimeUnit;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.scheduler.ScheduledTask;
public class AutoBroadcastModule extends Module {
private static final TimeUnit TIME_UNIT = TimeUnit.SECONDS;
private ScheduledTask automaticBroadcastTask;
@Override
public String getName() {
return "AutoBroadcast";
}
@Override
public void onEnable() {
Config section = getModuleSection();
long interval = section.getDuration("interval", TIME_UNIT);
long delay = Math.min(10, interval / 2);
automaticBroadcastTask =
ProxyServer.getInstance()
.getScheduler()
.schedule(
BungeeChat.getInstance(),
new AutomaticBroadcastTask(
MessagesService.getServerListPredicate(section.getConfig("serverList")),
section.getStringList("messages"),
section.getBoolean("random")),
delay,
interval,
TIME_UNIT);
}
@Override
public void onDisable() {
ProxyServer.getInstance().getScheduler().cancel(automaticBroadcastTask);
}
}