QoL/src/main/java/xyz/etztech/qol/listeners/DiscordSRVListener.java

44 lines
1.3 KiB
Java

package xyz.etztech.qol.listeners;
import github.scarsz.discordsrv.DiscordSRV;
import github.scarsz.discordsrv.api.events.DiscordGuildMessagePreBroadcastEvent;
import github.scarsz.discordsrv.api.events.GameChatMessagePreProcessEvent;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import xyz.etztech.qol.EtzTechUtil;
import xyz.etztech.qol.Lang;
import xyz.etztech.qol.QoL;
import github.scarsz.discordsrv.api.Subscribe;
import xyz.etztech.qol.commands.DiscordIgnoreCommand;
public class DiscordSRVListener {
private final QoL plugin;
public DiscordSRVListener(QoL plugin) {
this.plugin = plugin;
DiscordSRV.api.subscribe(this);
}
@Subscribe
public void gameChatMessagePreProcess(GameChatMessagePreProcessEvent event) {
if (QoL.hasSM(event.getPlayer())) {
event.setCancelled(true);
}
}
@Subscribe
public void discordGuildMessagePreBroadcastEvent(DiscordGuildMessagePreBroadcastEvent event) {
event.getRecipients().removeIf(recipient -> {
if (recipient instanceof Player) {
Player player = (Player) recipient;
return player.hasMetadata(DiscordIgnoreCommand.DISCORD_IGNORE_METADATA);
}
else {
return false;
}
});
}
}