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
+