Fixed some issues
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user