44 lines
1.3 KiB
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;
|
|
}
|
|
});
|
|
}
|
|
|
|
}
|