public class CheckandRankupCMD implements CommandExecutor { LuckPerms api = LuckPermsProvider.get(); @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (cmd.getName().equalsIgnoreCase("checkandrankup")) { if (args.length != 3) { sender.sendMessage("Incorrect Usage: /checkandrankup (player) (rankfrom) (rankto)"); return false; } Player player = Bukkit.getServer().getPlayer(args[0]); if (player == null) { sender.sendMessage("User doesn't exist"); return false; } User user = api.getPlayerAdapter(Player.class).getUser(player); Group group = api.getGroupManager().getGroup(args[1]); if (group == null) { sender.sendMessage("Group 1 doesn't exist!"); return false; } Group group2 = api.getGroupManager().getGroup(args[2]); if (group2 == null) { sender.sendMessage("Group 2 doesn't exist!"); return false; } if (!(user.getPrimaryGroup().equalsIgnoreCase(group.getName()))) { sender.sendMessage("User doesn't have that group."); return false; } if (user.getPrimaryGroup().equalsIgnoreCase(group2.getName())) { sender.sendMessage("User already has that group!"); return false; } InheritanceNode node = InheritanceNode.builder(group2.getName()).value(true).build(); InheritanceNode node2 = InheritanceNode.builder(group.getName()).value(true).build(); user.data().add(node); user.data().remove(node2); api.getUserManager().saveUser(user); //sender.sendMessage("test"); return false; } return false; } }