Помогите Изменение названия и лора предмета в меню в зависимости от условий

SamaraGamer

Активный участник
Пользователь
Баллы
76
Ник в Minecraft
SamaraGamer
Существуют ли плагины, с помощью которых можно реализовать такое:

Игрок открывает меню с титулами, в котором показаны все доступные титулы сервера. Некоторые титулы доступны ему, некоторые нет. Титулы открываются за выполнение достижений, то есть игроку добавляется определенный перм для определенного титула и он может его использовать. В зависимости от того, открыт ли у него титул или нет, его название в меню помечается зелёным либо красным цветом.

Версия 1.13.2, спигот. В ReActions вроде можно, но он ломает майн на 1.13.2.

Чую, что такое только через самопис, но всё же, может есть уже существующие способы.
 
Код:
public class Menu implements InventoryHolder {
    private Inventory inventory;

    public Menu(List<Stack> stacks, String title, Player player) {
        this.inventory = Bukkit.createInventory(this, 9 * (int) Math.ceil((double) stacks.size() / 9), title);
        for (int i = 0; i < stacks.size(); i++) {
            Stack stack = stacks.get(i);
            ItemStack item = stack.getItem();
            ItemMeta meta = item.getItemMeta();
            String name = stack.getName();
            String lore = stack.getLore();
            if(player.hasPermission(name)) {
                meta.setDisplayName(ChatColor.GREEN+name);
                meta.setLore(Arrays.asList(new String[] {ChatColor.GREEN+lore}));
            } else {
                meta.setDisplayName(ChatColor.RED+name);
                meta.setLore(Arrays.asList(new String[] {ChatColor.RED+lore}));   
            }
            item.setItemMeta(meta);
            inventory.setItem(i, item);
        }
    }
    
    @Override
    public Inventory getInventory() {
        return this.inventory;
    }
}
 
Назад
Верх Низ