diff --git a/pom.xml b/pom.xml index d4e0ba3..03e5232 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.etztech MineAlert - 0.0.4 + 0.0.5 jar @@ -31,13 +31,13 @@ org.spigotmc spigot-api - 1.16.1-R0.1-SNAPSHOT + 1.16.4-R0.1-SNAPSHOT provided xyz.etztech javacord - 0.2.0 + 0.2.2 commons-lang @@ -58,7 +58,7 @@ etztech-repo - http://repo.etztech.xyz/ + https://repo.etztech.xyz/ mvn-repo diff --git a/src/main/java/xyz/etztech/minealert/MineAlert.java b/src/main/java/xyz/etztech/minealert/MineAlert.java index 4125344..9cb8ce1 100644 --- a/src/main/java/xyz/etztech/minealert/MineAlert.java +++ b/src/main/java/xyz/etztech/minealert/MineAlert.java @@ -1,6 +1,7 @@ package xyz.etztech.minealert; +import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; import xyz.etztech.minealert.commands.AlertMute; import xyz.etztech.minealert.commands.MainCommand; @@ -66,5 +67,9 @@ public class MineAlert extends JavaPlugin { } return def; } + + static public Boolean hasIgnoreAlertPerm(Player player, MuteType muteType) { + return player.hasPermission("minealert.ignore") || player.hasPermission(muteType.getMetadataValue()); + } } diff --git a/src/main/java/xyz/etztech/minealert/MuteType.java b/src/main/java/xyz/etztech/minealert/MuteType.java index e88ded4..cb08f99 100644 --- a/src/main/java/xyz/etztech/minealert/MuteType.java +++ b/src/main/java/xyz/etztech/minealert/MuteType.java @@ -4,8 +4,8 @@ import org.bukkit.entity.Player; import org.bukkit.metadata.FixedMetadataValue; public enum MuteType { - OREALERT_MUTE("MineAlert.OreAlert"), - GRIEFALERT_MUTE("MineAlert.GriefAlert"); + OREALERT_MUTE("minealert.ignore.ore"), + GRIEFALERT_MUTE("minealert.ignore.grief"); private final String metadataValue; diff --git a/src/main/java/xyz/etztech/minealert/listeners/GriefAlertListener.java b/src/main/java/xyz/etztech/minealert/listeners/GriefAlertListener.java index b14a828..ce72db7 100644 --- a/src/main/java/xyz/etztech/minealert/listeners/GriefAlertListener.java +++ b/src/main/java/xyz/etztech/minealert/listeners/GriefAlertListener.java @@ -46,6 +46,10 @@ public class GriefAlertListener implements Listener { } public void addAlert(Player player, Location eventLocation, Lang lang) { + if (MineAlert.hasIgnoreAlertPerm(player, MuteType.GRIEFALERT_MUTE)) { + return; + } + String playerName = player.getName(); String alert = lang.getMessage(playerName); purge(); diff --git a/src/main/java/xyz/etztech/minealert/listeners/OreAlertListener.java b/src/main/java/xyz/etztech/minealert/listeners/OreAlertListener.java index 8abd07a..6cc24a9 100644 --- a/src/main/java/xyz/etztech/minealert/listeners/OreAlertListener.java +++ b/src/main/java/xyz/etztech/minealert/listeners/OreAlertListener.java @@ -45,6 +45,7 @@ public class OreAlertListener implements Listener { @EventHandler public void onBlockBreak(BlockBreakEvent event) { + if (MineAlert.hasIgnoreAlertPerm(event.getPlayer(), MuteType.OREALERT_MUTE)) return; if (cache.contains(event.getBlock().getLocation())) return; if (!isMaterialTracked(event.getBlock().getType())) return; diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 5e3a1c2..8a85c12 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -22,3 +22,16 @@ permissions: minealert.alert_mute: description: Ability to mute alerts default: op + minealert.ignore: + description: Ignore all alerts for this player + default: op + children: + minealert.ignore.grief: true + minealert.ignore.ore: true + minealert.ignore.grief: + description: Ignore grief alerts for this player + default: op + minealert.ignore.ore: + description: Ignore ore alerts for this player + default: op +