mirror of
https://github.com/Shiewk/SModeration.git
synced 2026-04-28 05:54:16 +02:00
prevent duplicates
This commit is contained in:
@@ -4,6 +4,7 @@ import de.shiewk.smoderation.SModeration;
|
|||||||
import de.shiewk.smoderation.event.PunishmentIssueEvent;
|
import de.shiewk.smoderation.event.PunishmentIssueEvent;
|
||||||
import de.shiewk.smoderation.punishments.Punishment;
|
import de.shiewk.smoderation.punishments.Punishment;
|
||||||
import de.shiewk.smoderation.punishments.PunishmentType;
|
import de.shiewk.smoderation.punishments.PunishmentType;
|
||||||
|
import de.shiewk.smoderation.storage.PunishmentContainer;
|
||||||
import io.papermc.paper.event.player.AsyncChatEvent;
|
import io.papermc.paper.event.player.AsyncChatEvent;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@@ -41,6 +42,11 @@ public class PunishmentListener implements Listener {
|
|||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||||
public void onPunishmentIssue(PunishmentIssueEvent event){
|
public void onPunishmentIssue(PunishmentIssueEvent event){
|
||||||
final Punishment punishment = event.getPunishment();
|
final Punishment punishment = event.getPunishment();
|
||||||
|
final PunishmentContainer container = event.getContainer();
|
||||||
|
final Punishment duplicate = container.find(p -> p.to.equals(punishment.to) && p.type == punishment.type && p.until >= punishment.time);
|
||||||
|
if (duplicate != null){
|
||||||
|
container.remove(duplicate);
|
||||||
|
}
|
||||||
switch (punishment.type){
|
switch (punishment.type){
|
||||||
case KICK, BAN -> {
|
case KICK, BAN -> {
|
||||||
final Player player = Bukkit.getPlayer(punishment.to);
|
final Player player = Bukkit.getPlayer(punishment.to);
|
||||||
|
|||||||
Reference in New Issue
Block a user