Files
Plex/server/src/main/java/dev/plex/services/impl/BanService.java
T

44 lines
1.1 KiB
Java

package dev.plex.services.impl;
import dev.plex.Plex;
import dev.plex.services.AbstractService;
import dev.plex.util.PlexUtils;
import dev.plex.util.TimeUtils;
import io.papermc.paper.threadedregions.scheduler.ScheduledTask;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import org.bukkit.Bukkit;
public class BanService extends AbstractService
{
public BanService(Plex plugin)
{
super(plugin, true, true);
}
@Override
public void run(ScheduledTask task)
{
plugin.getPunishmentManager().getActiveBans().whenComplete((punishments, throwable) ->
{
punishments.forEach(punishment ->
{
if (ZonedDateTime.now(ZoneId.of(TimeUtils.TIMEZONE)).isAfter(punishment.getEndDate()))
{
plugin.getPunishmentManager().unban(punishment);
Bukkit.broadcast(PlexUtils.messageComponent("banExpiredBroadcast", Bukkit.getOfflinePlayer(punishment.getPunished()).getName()));
}
});
});
}
@Override
public int repeatInSeconds()
{
// Every 30 seconds
return 30;
}
}