diff --git a/src/main/java/com/songoda/epicbuckets/command/CommandGenbucket.java b/src/main/java/com/songoda/epicbuckets/command/CommandGenbucket.java index 5127d8c..4ad53a1 100644 --- a/src/main/java/com/songoda/epicbuckets/command/CommandGenbucket.java +++ b/src/main/java/com/songoda/epicbuckets/command/CommandGenbucket.java @@ -41,4 +41,9 @@ public class CommandGenbucket extends BaseCommand { player.sendMessage(ChatUtil.colorPrefix(epicBuckets.getLocale().getMessage("command.reload.success"))); } + public void admin(Player player) { + if (!permCheck(player, "genbucket.admin") || !permCheck(player, "genbucket.admin.toggle")) return; + epicBuckets.getGenbucketManager().toggleAdmin(player); + } + } diff --git a/src/main/java/com/songoda/epicbuckets/genbucket/GenbucketManager.java b/src/main/java/com/songoda/epicbuckets/genbucket/GenbucketManager.java index d547906..b2446ac 100644 --- a/src/main/java/com/songoda/epicbuckets/genbucket/GenbucketManager.java +++ b/src/main/java/com/songoda/epicbuckets/genbucket/GenbucketManager.java @@ -5,6 +5,8 @@ import com.songoda.epicbuckets.regionhandler.RegionFactions; import com.songoda.epicbuckets.regionhandler.RegionGriefPrevention; import com.songoda.epicbuckets.regionhandler.RegionWorldBorder; import com.songoda.epicbuckets.regionhandler.RegionWorldGuard; +import com.songoda.epicbuckets.util.ChatUtil; +import org.apache.commons.lang.StringUtils; import org.bukkit.Location; import org.bukkit.entity.Player; @@ -14,10 +16,33 @@ public class GenbucketManager { private EpicBuckets epicBuckets; private HashMap> activeGens; + private List admins; public GenbucketManager() { this.epicBuckets = EpicBuckets.getInstance(); activeGens = new HashMap<>(); + admins = new ArrayList<>(); + } + + public void notifyAdmins(Player user, Genbucket genbucket) { + admins.forEach(player -> player.sendMessage(ChatUtil.colorPrefix(epicBuckets.getLocale().getMessage("event.genbucket.admin").replace("%player%", user.getName()).replace("%genbucket%", StringUtils.capitalize(genbucket.getGenbucketType().name.toLowerCase()) + " genbucket")))); + } + + public void toggleAdmin(Player player) { + if (admins.contains(player)) { + removeAdmin(player); + return; + } + addAdmin(player); + player.sendMessage(ChatUtil.colorPrefix(epicBuckets.getLocale().getMessage("command.admin.toggle").replace("%mode%", ((admins.contains(player)) ? "&aenabled" : "&cdisabled")))); + } + + private void removeAdmin(Player player) { + admins.remove(player); + } + + private void addAdmin(Player player) { + admins.add(player); } public void unregisterGenbucketForPlayer(Player owner, UUID genUUID) { @@ -56,7 +81,7 @@ public class GenbucketManager { boolean worldBorderCheck = RegionWorldBorder.isOutsideOfBorder(location); if (!factionsCheck || !factionsUUIDCheck || !griefPreventionCheck || !worldGuardCheck || worldBorderCheck) { - player.sendMessage(epicBuckets.getLocale().getMessage("event.place.nothere")); + player.sendMessage(ChatUtil.colorPrefix(epicBuckets.getLocale().getMessage("event.place.nothere"))); return false; } diff --git a/src/main/java/com/songoda/epicbuckets/listener/GenbucketPlaceListener.java b/src/main/java/com/songoda/epicbuckets/listener/GenbucketPlaceListener.java index 04530da..d769d40 100644 --- a/src/main/java/com/songoda/epicbuckets/listener/GenbucketPlaceListener.java +++ b/src/main/java/com/songoda/epicbuckets/listener/GenbucketPlaceListener.java @@ -95,6 +95,7 @@ public class GenbucketPlaceListener implements Listener { } epicBuckets.getGenbucketManager().registerGenbucketForPlayer(e.getPlayer(), genbucket); + epicBuckets.getGenbucketManager().notifyAdmins(e.getPlayer(), genbucket); genbucket.generate(); } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 5798efa..e3eda4d 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -49,12 +49,6 @@ CUSTOM-ACTIVE-GEN-PER-PLAY: # Put the highest first IGNORE-MATERIALS: - "AIR" # <- Don't remove unless you know what you're doing - - "SNOW" - - "LONG_GRASS" - - "DEAD_BUSH" - - "YELLOW_FLOWER" - - "DOUBLE_PLANT" - - "RED_ROSE" PSUEDO-MATERIALS: # Which materials should the psuedo genbucket work on? - "cobblestone" diff --git a/src/main/resources/en_US.lang b/src/main/resources/en_US.lang index e81488e..5d0545b 100644 --- a/src/main/resources/en_US.lang +++ b/src/main/resources/en_US.lang @@ -5,6 +5,7 @@ general.nametag.prefix = "&8[&6EpicBuckets&8]" #Command Messages command.reload.success = "&7You've reloaded the config" +command.admin.toggle = "&7Spy mode: %mode%" #Interface Messages @@ -24,3 +25,4 @@ event.translate.directionside = "on the side of blocks" event.genbucket.disabled = "&eGenbuckets &7are currently disabled!" event.genbucket.placedwrong = "&e%genbucket% &7cant be placed on that side of the block!" event.genbucket.wrongmaterialpsuedo = "&7You cannot use the psuedo bucket on this &eblock!" +event.genbucket.admin = "&e%player% &7has placed a &e%genbucket%&7!"