Added isWhitelistEnabled, isWhitelistActsAsBlacklist, and whitelistedCommands.

This commit is contained in:
awesomemoder316 2021-08-17 19:32:21 -07:00
parent 2cda25e281
commit 378d96c504
2 changed files with 44 additions and 12 deletions

View File

@ -1,9 +1,7 @@
package es.mesacarlos.webconsole.config; package es.mesacarlos.webconsole.config;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.ConfigurationSection;
@ -47,7 +45,12 @@ public class ConfigManager {
if(config.getConfigurationSection("passwords") == null) { if(config.getConfigurationSection("passwords") == null) {
ConfigurationSection passwordsSection = config.createSection("passwords"); ConfigurationSection passwordsSection = config.createSection("passwords");
ConfigurationSection adminPasswordSection = passwordsSection.createSection("admin"); ConfigurationSection adminPasswordSection = passwordsSection.createSection("admin");
adminPasswordSection.addDefault("user1", "mySecurePassword"); ConfigurationSection individualAdminPasswordSection = adminPasswordSection.createSection("user1");
individualAdminPasswordSection.addDefault("password", "mySecurePassword");
ConfigurationSection commandWhitelist = individualAdminPasswordSection.createSection("commandWhitelist");
commandWhitelist.addDefault("enabled", false);
commandWhitelist.addDefault("commandWhitelistActsAsBlacklist", false);
commandWhitelist.addDefault("whitelist", Arrays.asList("whisper", "gamemode survival"));
passwordsSection.createSection("viewer"); passwordsSection.createSection("viewer");
} }
@ -96,11 +99,19 @@ public class ConfigManager {
* @return list of admin users * @return list of admin users
*/ */
private List<UserData> getAdmins() { private List<UserData> getAdmins() {
Map<String, Object> passwords = plugin.getConfig().getConfigurationSection("passwords").getConfigurationSection("admin").getValues(false); Set<String> adminConfig = plugin.getConfig().getConfigurationSection("passwords").getConfigurationSection("admin").getKeys(false);
List<UserData> adminUsers = new ArrayList<UserData>();
List<UserData> adminUsers = new ArrayList<>();
for(Map.Entry<String, Object> entry : passwords.entrySet()) for(String username : adminConfig) {
adminUsers.add(new UserData(entry.getKey(), entry.getValue().toString(), UserType.ADMIN)); adminUsers.add(new UserData(
username,
plugin.getConfig().getString("passwords.admin." + username + ".password"),
UserType.ADMIN,
plugin.getConfig().getBoolean("passwords.admin." + username + ".commandWhitelist.enabled"),
plugin.getConfig().getBoolean("passwords.admin." + username + ".commandWhitelist.commandWhitelistActsAsBlacklist"),
plugin.getConfig().getStringList("passwords.admin." + username + ".commandWhitelist.whitelist")));
}
return adminUsers; return adminUsers;
} }
@ -111,10 +122,10 @@ public class ConfigManager {
*/ */
private List<UserData> getViewers() { private List<UserData> getViewers() {
Map<String, Object> passwords = plugin.getConfig().getConfigurationSection("passwords").getConfigurationSection("viewer").getValues(false); Map<String, Object> passwords = plugin.getConfig().getConfigurationSection("passwords").getConfigurationSection("viewer").getValues(false);
List<UserData> viewerUsers = new ArrayList<UserData>(); List<UserData> viewerUsers = new ArrayList<>();
for(Map.Entry<String, Object> entry : passwords.entrySet()) for(Map.Entry<String, Object> entry : passwords.entrySet())
viewerUsers.add(new UserData(entry.getKey(), entry.getValue().toString(), UserType.VIEWER)); viewerUsers.add(new UserData(entry.getKey(), entry.getValue().toString(), UserType.VIEWER, false, false, new ArrayList<>()));
return viewerUsers; return viewerUsers;
} }

View File

@ -1,16 +1,25 @@
package es.mesacarlos.webconsole.config; package es.mesacarlos.webconsole.config;
import java.util.List;
public class UserData { public class UserData {
private String username; private String username;
private String password; private String password;
private UserType userType; private UserType userType;
private boolean isWhitelistEnabled;
private boolean isWhitelistActsAsBlacklist;
private List<String> whitelistedCommands;
public UserData(String username, String password, UserType userType) { public UserData(String username, String password, UserType userType,
boolean isWhitelistEnabled, boolean isWhitelistActsAsBlacklist, List<String> whitelistedCommands) {
this.username = username; this.username = username;
this.password = password; this.password = password;
this.userType = userType; this.userType = userType;
this.isWhitelistEnabled = isWhitelistEnabled;
this.isWhitelistActsAsBlacklist = isWhitelistActsAsBlacklist;
this.whitelistedCommands = whitelistedCommands;
} }
public String getUsername() { public String getUsername() {
return username; return username;
} }
@ -22,4 +31,16 @@ public class UserData {
public UserType getUserType() { public UserType getUserType() {
return userType; return userType;
} }
public boolean isWhitelistEnabled() {
return isWhitelistEnabled;
}
public boolean isWhitelistActsAsBlacklist() {
return isWhitelistActsAsBlacklist;
}
public List<String> getWhitelistedCommands() {
return whitelistedCommands;
}
} }