Added admin mode

This commit is contained in:
Niels Vergucht 2018-12-06 16:13:53 +01:00
parent 74906bc780
commit f1d0399e3a
5 changed files with 34 additions and 7 deletions

View File

@ -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);
}
}

View File

@ -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<UUID, List<Genbucket>> activeGens;
private List<Player> 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;
}

View File

@ -95,6 +95,7 @@ public class GenbucketPlaceListener implements Listener {
}
epicBuckets.getGenbucketManager().registerGenbucketForPlayer(e.getPlayer(), genbucket);
epicBuckets.getGenbucketManager().notifyAdmins(e.getPlayer(), genbucket);
genbucket.generate();
}

View File

@ -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"

View File

@ -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!"