Add tempbans

This commit is contained in:
2022-02-26 00:24:11 -06:00
parent 8b4a5d64a0
commit 817cb03dca
10 changed files with 259 additions and 59 deletions

View File

@ -3,19 +3,13 @@ package dev.plex.listener.impl;
import dev.plex.cache.PlayerCache;
import dev.plex.listener.PlexListener;
import dev.plex.player.PunishedPlayer;
import dev.plex.punishment.Punishment;
import dev.plex.punishment.PunishmentType;
import dev.plex.util.MojangUtils;
import dev.plex.util.PlexUtils;
import java.time.format.DateTimeFormatter;
import net.kyori.adventure.text.Component;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
public class BanListener extends PlexListener
{
private final String banUrl = plugin.config.getString("banning.ban_url");
private final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("MM/dd/yyyy 'at' hh:mm:ss a");
@EventHandler
public void onPreLogin(AsyncPlayerPreLoginEvent event)
{
@ -23,12 +17,8 @@ public class BanListener extends PlexListener
{
PunishedPlayer player = PlayerCache.getPunishedPlayer(event.getUniqueId());
player.getPunishments().stream().filter(punishment -> punishment.getType() == PunishmentType.BAN && punishment.isActive()).findFirst().ifPresent(punishment ->
{
Component banMessage = PlexUtils.messageComponent("banMessage", banUrl, punishment.getReason(),
DATE_FORMAT.format(punishment.getEndDate()), punishment.getPunisher() == null ? "CONSOLE" : MojangUtils.getInfo(punishment.getPunisher().toString()).getUsername());
event.disallow(AsyncPlayerPreLoginEvent.Result.KICK_BANNED,
banMessage);
});
event.disallow(AsyncPlayerPreLoginEvent.Result.KICK_BANNED,
Punishment.generateBanMessage(punishment)));
}
}
}

View File

@ -38,7 +38,9 @@ public class ChatListener extends PlexListener
{
renderer.hasPrefix = true;
renderer.prefix = prefix;
} else {
}
else
{
renderer.hasPrefix = false;
renderer.prefix = null;
}