mirror of
https://github.com/plexusorg/Plex.git
synced 2026-06-04 05:26:55 +00:00
44 lines
1.1 KiB
Java
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;
|
|
}
|
|
}
|