Fixed some issues

This commit is contained in:
2025-11-12 21:15:35 +01:00
parent 0557ffd20f
commit 3a9be028d7

View File

@@ -3,6 +3,7 @@ package me.monster.ranks.command.permSubcommands;
import me.monster.commands.SubCommand; import me.monster.commands.SubCommand;
import me.monster.ranks.database.DbManager; import me.monster.ranks.database.DbManager;
import me.monster.ranks.database.models.Groups; import me.monster.ranks.database.models.Groups;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@@ -27,22 +28,62 @@ public class GroupSub extends SubCommand {
@Override @Override
public String getSyntax() { public String getSyntax() {
return "/perm group <groupname>"; return "/perm group <create/delete/edit/list> [groupname]";
} }
@Override @Override
public void perform(CommandSender commandSender, String[] strings) { public void perform(CommandSender commandSender, String[] strings) {
commandSender.sendMessage("Test");
}
@Override
public List<String> getSubcommandArguments(Player player, String[] strings) {
try { try {
return List.of(DbManager.getAllGroups().stream().map(Groups::getGroupName).toArray(String[]::new)); manageSystem(List.of(strings), commandSender);
} catch (SQLException e) { } catch (SQLException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
}
public void manageSystem(List<String> args, CommandSender sender) throws SQLException {
}
//
// Commmand /perm group edit <group> permission set/unset <permission>
//
@Override
public List<String> getSubcommandArguments(Player player, String[] strings) {
if (player.hasPermission("ranks.manage.group")){
if (strings.length == 2) {
return List.of("create", "delete", "edit", "list", "info");
}
if (strings.length == 3) {
if (strings[1].equalsIgnoreCase("create") || strings[1].equalsIgnoreCase("list")) {
return null;
} else if (strings[1].equalsIgnoreCase("delete") || strings[1].equalsIgnoreCase("edit") || strings[1].equalsIgnoreCase("info")) {
try {
return List.of(DbManager.getAllGroups().stream().map(Groups::getGroupName).toArray(String[]::new));
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
if (strings.length >= 4) {
if (strings.length == 4) {
if (strings[1].equalsIgnoreCase("create") || strings[1].equalsIgnoreCase("list") || strings[1].equalsIgnoreCase("delete")) {
return null;
}
if (strings[1].equalsIgnoreCase("edit")) {
return List.of("permission", "prefix", "suffix", "name", "parent", "weight");
}
}
if (strings.length == 5 && strings[1].equalsIgnoreCase("edit") && strings[3].equalsIgnoreCase("permission")) {
return List.of("set", "unset");
} else if (strings.length == 6 && strings[1].equalsIgnoreCase("edit") && strings[3].equalsIgnoreCase("permission")) {
return List.of(Bukkit.getPluginManager().getPermissions().stream().map(org.bukkit.permissions.Permission::getName).toArray(String[]::new));
}
}
}
return null;
} }
} }