/
minecraftbackup
/
AnarchyExploitFixes
Обзор
Документация
Войти
/
minecraftbackup
/
AnarchyExploitFixes
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
AnarchyExploitFixesFolia/src/main/java/me/xginko/aef/modules/misc/PreventMessageKick.java
51 строка
2 KB
xGinko
more abstraction
06 июн 2024, 02:15
06 июн 2024, 02:15
b7c9d96
Код
Авторство
О чём код?
package me.xginko.aef.modules.misc; import me.xginko.aef.modules.AEFModule; import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.HandlerList; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerKickEvent; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; public class PreventMessageKick extends AEFModule implements Listener { private final Set<String> kickMessagesToListenTo; public PreventMessageKick() { super("misc.kicks.prevent-message-kick"); config.addComment(configPath + ".enable", "Cancels the kick for specific kick messages."); this.kickMessagesToListenTo = config.getList(configPath + ".kick-messages-to-listen-to", List.of("Kicked for spamming", "Stop spamming!")) .stream() .map(String::toLowerCase) .collect(Collectors.toCollection(HashSet::new)); } @Override public void enable() { plugin.getServer().getPluginManager().registerEvents(this, plugin); } @Override public boolean shouldEnable() { return config.getBoolean(configPath + ".enable", false); } @Override public void disable() { HandlerList.unregisterAll(this); } @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) private void onPlayerKick(PlayerKickEvent event) { if (kickMessagesToListenTo.contains(PlainTextComponentSerializer.plainText().serialize(event.reason()).toLowerCase())) { event.setCancelled(true); } } }