mirror of
https://github.com/TheDeus-Group/TFM-4.3-Reloaded.git
synced 2024-06-10 14:54:57 +00:00
a0058869c9
Moved resources to correct folder Fixed and improved build information, no longer tracking build.properties
95 lines
2.1 KiB
Java
95 lines
2.1 KiB
Java
package me.totalfreedom.totalfreedommod;
|
|
|
|
import me.totalfreedom.totalfreedommod.util.FUtil;
|
|
import com.google.common.collect.Lists;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
import lombok.Getter;
|
|
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
|
import net.pravian.aero.component.service.AbstractService;
|
|
import org.bukkit.scheduler.BukkitRunnable;
|
|
|
|
public class Announcer extends AbstractService<TotalFreedomMod>
|
|
{
|
|
|
|
private final List<String> announcements = Lists.newArrayList();
|
|
@Getter
|
|
private boolean enabled;
|
|
@Getter
|
|
private long interval;
|
|
@Getter
|
|
private String prefix;
|
|
private BukkitRunnable announcer;
|
|
|
|
public Announcer(TotalFreedomMod plugin)
|
|
{
|
|
super(plugin);
|
|
}
|
|
|
|
@Override
|
|
protected void onStart()
|
|
{
|
|
enabled = ConfigEntry.ANNOUNCER_ENABLED.getBoolean();
|
|
interval = ConfigEntry.ANNOUNCER_INTERVAL.getInteger() * 20L;
|
|
prefix = FUtil.colorize(ConfigEntry.ANNOUNCER_PREFIX.getString());
|
|
|
|
announcements.clear();
|
|
for (Object announcement : ConfigEntry.ANNOUNCER_ANNOUNCEMENTS.getList())
|
|
{
|
|
announcements.add(FUtil.colorize((String) announcement));
|
|
}
|
|
|
|
if (!enabled)
|
|
{
|
|
return;
|
|
}
|
|
|
|
announcer = new BukkitRunnable()
|
|
{
|
|
private int current = 0;
|
|
|
|
@Override
|
|
public void run()
|
|
{
|
|
current++;
|
|
|
|
if (current >= announcements.size())
|
|
{
|
|
current = 0;
|
|
}
|
|
|
|
FUtil.bcastMsg(prefix + announcements.get(current));
|
|
}
|
|
};
|
|
|
|
announcer.runTaskTimer(TotalFreedomMod.plugin, interval, interval);
|
|
}
|
|
|
|
@Override
|
|
protected void onStop()
|
|
{
|
|
if (announcer == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
try
|
|
{
|
|
announcer.cancel();
|
|
}
|
|
catch (Exception ignored)
|
|
{
|
|
}
|
|
finally
|
|
{
|
|
announcer = null;
|
|
}
|
|
}
|
|
|
|
public List<String> getAnnouncements()
|
|
{
|
|
return Collections.unmodifiableList(announcements);
|
|
}
|
|
|
|
}
|