Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Создание меню

Статус
Закрыто для дальнейших ответов.

kvqplay

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
kvq_play
Как мне сделать так чтоб если игрок имеет пермишон то лично для него на предмете в меню в lore отображалось например "Allowed" ну естественно если нет пермишона то например "You dont have permission" ?

Код:
public Inventory menu = Bukkit.createInventory(null, 54, "Menu" );


Код:
        ItemStack i1 = new ItemStack(Material.RED_ROSE, 1);
        ItemMeta id1 = i1.getItemMeta();
        id1.setDisplayName(ChatColor.RED + "1");
        i1.setItemMeta(id1);
 
Как мне сделать так чтоб если игрок имеет пермишон то лично для него на предмете в меню в lore отображалось например "Allowed" ну естественно если нет пермишона то например "You dont have permission" ?

Код:
public Inventory menu = Bukkit.createInventory(null, 54, "Menu" );


Код:
        ItemStack i1 = new ItemStack(Material.RED_ROSE, 1);
        ItemMeta id1 = i1.getItemMeta();
        id1.setDisplayName(ChatColor.RED + "1");
        i1.setItemMeta(id1);
Во-первых называй переменный по-нормальному. Во-вторых, подумай логически и тебе на ум придет такая мысль:
Код:
ItemMeta meta = i1.getItemMeta();
List<String> lore = new ArrayList();
if (player.hasPermissions(lore.allow)){
lore.add("Allow");
} else {
lore.add("You dont have permission");
}
meta.setLore(lore);
i1.setItemMeta(meta);
menu.addItem(i1);
player.openInventory(menu);
 
Во-первых называй переменный по-нормальному. Во-вторых, подумай логически и тебе на ум придет такая мысль:
Код:
ItemMeta meta = i1.getItemMeta();
List<String> lore = new ArrayList();
if (player.hasPermissions(lore.allow)){
lore.add("Allow");
} else {
lore.add("You dont have permission");
}
meta.setLore(lore);
i1.setItemMeta(meta);
menu.addItem(i1);
player.openInventory(menu);
Сама проблема не в этом , как мне создать личное меню для каждого игрока ?
 
Сама проблема не в этом , как мне создать личное меню для каждого игрока ?
Когда ты открываешь это меню? Нужно где-то брать самого игрока, чтобы для него создать меню.
 
Когда ты открываешь это меню? При каком эвенте? По команде или при пкм с особым предметом в руке?
Код:
    public boolean onCommand (CommandSender sender,Command cmd, String label, String[] agrs) {
        if (sender instanceof Player) {
                Player player = (Player) sender ;
                if (cmd.getName().equalsIgnoreCase("trails")){
       
        }
        return false;
    }
  
}
По команде в общем но все равно код особо отличатся не будет
 
Код:
    public boolean onCommand (CommandSender sender,Command cmd, String label, String[] agrs) {
        if (sender instanceof Player) {
                Player player = (Player) sender ;
                if (cmd.getName().equalsIgnoreCase("trails")){
       
        }
        return false;
    }
  
}
Ну вот, берешь этого игрока и проверяешь у него нужный тебе пермишен, если есть до делаешь то-что нужно, если нету, то...
 
Ну вот, берешь этого игрока и проверяешь у него нужный тебе пермишен, если есть до делаешь то-что нужно, если нету, то...
Только вот с этим нельзя взаимодействовать
Код:
                if (cmd.getName().equalsIgnoreCase("trails")){
                        Bukkit.createInventory(null, 9, "menu");

А этим способом если игрок его откроет то lore изменится для всех игроков у которых открыто меню
Код:
                if (cmd.getName().equalsIgnoreCase("trails")){
                        Inventory menu = Bukkit.createInventory(null, 54, "menu" );
 
Только вот с этим нельзя взаимодействовать
Код:
                if (cmd.getName().equalsIgnoreCase("trails")){
                        Bukkit.createInventory(null, 9, "menu");

А этим способом если игрок его откроет то lore изменится для всех игроков у которых открыто меню
Код:
                if (cmd.getName().equalsIgnoreCase("trails")){
                        Inventory menu = Bukkit.createInventory(null, 54, "menu" );
Если делать так
Код:
                if (cmd.getName().equalsIgnoreCase("trails")){
                        Inventory menu = Bukkit.createInventory(null, 54, "menu" );
[/QUOTE] то для каждого игрока создается отдельный инвентарь, сл-но если ты в нем будешь что-то менять, то в других инвентарях все останется нормально.
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх