Remove disguises from tab complete and prevent all usage by changing required permission in config, closes #432
This commit is contained in:
@@ -18,11 +18,14 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.permissions.Permission;
|
||||
import org.bukkit.permissions.PermissionDefault;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map.Entry;
|
||||
@@ -209,6 +212,27 @@ public class DisguiseConfig {
|
||||
@Getter
|
||||
@Setter
|
||||
private static boolean notifyPlayerDisguised;
|
||||
private static PermissionDefault commandVisibility = PermissionDefault.TRUE;
|
||||
|
||||
public static PermissionDefault getCommandVisibility() {
|
||||
return commandVisibility;
|
||||
}
|
||||
|
||||
public static void setCommandVisibility(PermissionDefault permissionDefault) {
|
||||
if (permissionDefault == null || getCommandVisibility() == permissionDefault) {
|
||||
return;
|
||||
}
|
||||
|
||||
commandVisibility = permissionDefault;
|
||||
|
||||
for (Permission perm : LibsDisguises.getInstance().getDescription().getPermissions()) {
|
||||
if (!perm.getName().startsWith("libsdisguises.seecmd")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
perm.setDefault(getCommandVisibility());
|
||||
}
|
||||
}
|
||||
|
||||
private DisguiseConfig() {
|
||||
}
|
||||
@@ -410,6 +434,15 @@ public class DisguiseConfig {
|
||||
"' to a valid option for SelfDisguisesScoreboard");
|
||||
}
|
||||
|
||||
PermissionDefault commandVisibility = PermissionDefault.getByName(config.getString("Permissions.SeeCommands"));
|
||||
|
||||
if (commandVisibility == null) {
|
||||
DisguiseUtilities.getLogger().warning("Invalid option '" + config.getString("Permissions.SeeCommands") +
|
||||
"' for Permissions.SeeCommands when loading config!");
|
||||
} else {
|
||||
setCommandVisibility(commandVisibility);
|
||||
}
|
||||
|
||||
loadCustomDisguises();
|
||||
|
||||
// Another wee trap for the non-legit
|
||||
|
Reference in New Issue
Block a user