1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как задать игроку группу через PEX API

Тема в разделе "Разработка плагинов для новичков", создана пользователем Skratex, 25 дек 2017.

Статус темы:
Закрыта.
  1. Автор темы
    Skratex

    Skratex Ньюби Пользователь

    Баллы:
    1
    Имя в Minecraft:
    Skratex
    Задался вопросом, как не выдать (group add), а установить (group set) группу игроку через Pex API

    Код:
    String name = args[0];
                
     PermissionsEx.getUser(name).setGroups(playergroup,
    worldname);
    //playergroup и worldname  взяты с конфига
    //Пробовал достать но не выходит, как сделать?

    Я делаю большой, но легкий в создании плагин и хочу узнать как сделать выдачу
    и установке, а не добавлению группы в PEX API.
     
  2. Автор темы
    Skratex

    Skratex Ньюби Пользователь

    Баллы:
    1
    Имя в Minecraft:
    Skratex
    Если нельзя через PEX API скажите как это сделать...

    Спасибо
     
  3. Аминчик

    Аминчик Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    AmiN4iK_03
    Код:
                    String name = args[1];
                    String group = args[2];
                    Player target = Bukkit.getPlayer(name);
                    PermissionUser user = PermissionsEx.getUser(name);
                    String[] groups = user.getGroupNames();
                    for (String playerGroup : groups) {
                        user.removeGroup(playerGroup);
                    }
                    if (target == null) {
                        p.sendMessage("§eИгрока§c " + name + " §eнет на сервере!");
                        return true;
                    }
                    user.addGroup(group);
                    p.sendMessage("§eПривилегия§c " + group + " §eвыдана игроку§c " + name);
                    target.sendMessage("§eИгрок§c " + p.getName() + " §eвыдал Вам привилегию§c " + group);
                    target.sendTitle("§eИгрок§c " + p.getName(), " §eвыдал Вам привилегию§c " + group);
                    Bukkit.broadcastMessage("§eИгрок§c " + p.getName() + " §eвыдал привилегию§c " + group + " §eигроку§c " + name);
                    return true;
                }
            }
     
  4. Автор темы
    Skratex

    Skratex Ньюби Пользователь

    Баллы:
    1
    Имя в Minecraft:
    Skratex
    Спасибо, закрыто. Ща проверим
     
  5. Автор темы
    Skratex

    Skratex Ньюби Пользователь

    Баллы:
    1
    Имя в Minecraft:
    Skratex
    Открываю, не понятно объяснил

    Вот код, как подстроить?
    Код:
    package com.skratex.main;
    
    import java.util.List;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    
    import ru.tehkode.permissions.PermissionUser;
    import ru.tehkode.permissions.bukkit.PermissionsEx;
    
    public class DelDonateCMD implements CommandExecutor {
    
        private MainClass plugin;
    
        public DelDonateCMD(MainClass plugin) {
            this.plugin = plugin;
        }
    
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            String prefix = plugin.getConfig().getString("prefix");
            prefix = prefix.replace("&", "\u00a7");
            String noperms = plugin.getConfig().getString("messages.noperms");
            noperms = noperms.replace("&", "\u00a7");
            String noplayersender = plugin.getConfig().getString("messages.noplayersender");
            noplayersender = noplayersender.replace("&", "\u00a7");
            String playergroup = plugin.getConfig().getString("permissiosex.playergroup");
            playergroup = playergroup.replace("&", "\u00a7");
            String worldname = plugin.getConfig().getString("worlds.defaultworld");
            worldname = worldname.replace("&", "\u00a7");
            if(cmd.getName().equalsIgnoreCase("undonate")) {
                if(!sender.hasPermission("GCon.undonate")) {
                    sender.sendMessage(prefix + noperms);
                    return true;
                }
                if(!(sender instanceof Player)) {
                    sender.sendMessage(prefix + noplayersender);
                    return true;
                }
                
                String usageofundon = prefix + ChatColor.RED + "Используй: " + ChatColor.WHITE + "/undon <Ник игрока> <Причина>";
                
                if(args.length < 2) {
                    sender.sendMessage(prefix + usageofundon);
                    return true;
                }
                
                String name = args[1];
                String group = args[2];
                Player target = Bukkit.getPlayer(name);
                PermissionUser user = PermissionsEx.getUser(name);
                String[] groups = user.getGroupNames();
                for (String playerGroup : groups) {
                    user.removeGroup(playerGroup);
                }
                if (target == null) {
                    sender.sendMessage("§eИгрока§c " + name + " §eнет на сервере!");
                    return true;
                }
                user.addGroup(group);
                sender.sendMessage("§eПривилегия§c " + group + " §eвыдана игроку§c " + name);
                target.sendMessage("§eИгрок§c " + p.getName() + " §eвыдал Вам привилегию§c " + group);
                target.sendTitle("§eИгрок§c " + p.getName(), " §eвыдал Вам привилегию§c " + group);
                Bukkit.broadcastMessage("§eИгрок§c " + p.getName() + " §eвыдал привилегию§c " + group + " §eигроку§c " + name);
                return true;
            }
            return true;
        }
        
    }
     
Статус темы:
Закрыта.

Поделиться этой страницей