Let settings auto generate with respect for other plugins

This commit is contained in:
Fabrizio La Rosa 2020-06-19 23:31:29 +02:00
parent dfdf0ae259
commit 6b6386864f
2 changed files with 38 additions and 1 deletions

View File

@ -98,7 +98,7 @@ public class FileManager {
}
if (configFile.exists()) {
if (fileName.equals("config.yml") || fileName.equals("language.yml") || fileName.equals("settings.yml") || fileName.equals("worlds.yml")) {
if (fileName.equals("config.yml") || fileName.equals("language.yml") || fileName.equals("worlds.yml")) {
FileChecker fileChecker;
if (fileName.equals("config.yml")) {

View File

@ -15,6 +15,7 @@ import org.bukkit.event.Cancellable;
import org.bukkit.event.player.PlayerMoveEvent;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.*;
@ -114,7 +115,43 @@ public class PermissionManager {
})).collect(Collectors.toList());
}
private void updateSettingsConfig(BasicPermission permission){
FileManager.Config settingsConfig = plugin.getFileManager().getConfig(new File(plugin.getDataFolder(), "settings.yml"));
FileConfiguration settingsConfigLoad = settingsConfig.getFileConfiguration();
switch (permission.getType()){
case GENERIC:
if(settingsConfigLoad.getString("Settings.Visitor." + permission.getName()) == null){
settingsConfigLoad.set("Settings.Visitor." + permission.getName(), true);
}
if(settingsConfigLoad.getString("Settings.Member." + permission.getName()) == null){
settingsConfigLoad.set("Settings.Member." + permission.getName(), true);
}
if(settingsConfigLoad.getString("Settings.Coop." + permission.getName()) == null){
settingsConfigLoad.set("Settings.Coop." + permission.getName(), true);
}
break;
case OPERATOR:
if(settingsConfigLoad.getString("Settings.Operator." + permission.getName()) == null){
settingsConfigLoad.set("Settings.Operator." + permission.getName(), true);
}
break;
case ISLAND:
if(settingsConfigLoad.getString("Settings.Owner." + permission.getName()) == null){
settingsConfigLoad.set("Settings.Owner." + permission.getName(), true);
}
break;
}
try {
settingsConfigLoad.save(settingsConfig.getFile());
} catch (IOException e) {
e.printStackTrace();
}
}
public boolean registerPermission(BasicPermission permission) {
updateSettingsConfig(permission);
registeredPermissions.put(permission.getName().toUpperCase(), permission);
Set<Method> methods;
try {