Помогите GUI меню для каждого игрока свои значения

  • Автор темы Автор темы KomapuK
  • Дата начала Дата начала

KomapuK

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
KOMAP
Как создать меню для игроков я знаю, а вот как сделать так, чтобы каждый игрок получал свои значения отталкиваясь на значения из конфига.
Чтобы было понятнее, делаю плагин наподобие BattlePass
то-есть если у игрока в конфиге у его ника стоит цифра 2, то при открытии меню он в праве нажать на второй слот и он станет например вместо красной шерсти - зеленая, если у него в конфиге цифра 3, то тоже самое он может сделать и с 3 слотом в меню, при этом, при следующих открытиях меню у игрока уже останется 3 слота зеленых, но как сделать чтобы для каждого игрока свое меню открывалось - не догоняю.
 
Как создать меню для игроков я знаю, а вот как сделать так, чтобы каждый игрок получал свои значения отталкиваясь на значения из конфига.
Чтобы было понятнее, делаю плагин наподобие BattlePass
то-есть если у игрока в конфиге у его ника стоит цифра 2, то при открытии меню он в праве нажать на второй слот и он станет например вместо красной шерсти - зеленая, если у него в конфиге цифра 3, то тоже самое он может сделать и с 3 слотом в меню, при этом, при следующих открытиях меню у игрока уже останется 3 слота зеленых, но как сделать чтобы для каждого игрока свое меню открывалось - не догоняю.
Эм...
Код:
Inventory inv = Bukkit.createInventory(null, 27, "Title");

int a = plugin.getConfig().getInt("players."+player.getName());

if (a == 1) {
    inv.addItem(new ItemStack(Material.GRASS));
}
if (a == 2) {
    inv.addItem(new ItemStack(Material.STONE));
}
 
Эм...
Код:
Inventory inv = Bukkit.createInventory(null, 27, "Title");

int a = plugin.getConfig().getInt("players."+player.getName());

if (a == 1) {
    inv.addItem(new ItemStack(Material.GRASS));
}
if (a == 2) {
    inv.addItem(new ItemStack(Material.STONE));
}

Понял, смотри, допустим при нажатии меняется цвет шерсти. Все работает, но..
мне нужно чтобы она сразу поменялась, я пытался закрывать инвентарь и открывать заного, но он просто напросто не закрвыался. Потом пытался обновлять инвентарь, тоже не помогло. Помогает только закрытие в самой игре и открытие меню заного
 
Понял, смотри, допустим при нажатии меняется цвет шерсти. Все работает, но..
мне нужно чтобы она сразу поменялась, я пытался закрывать инвентарь и открывать заного, но он просто напросто не закрвыался. Потом пытался обновлять инвентарь, тоже не помогло. Помогает только закрытие в самой игре и открытие меню заного
просто открой измененный инвентарь поверх старого и все
 
уверен что изменил его?

Конечно, действия такие:
При клике на предмет в конфиг сохраняется +1 уровень, далее инвентарь закрывается и когда я его открываю снова через команду предмет меняется как положено, команда в соответствии с уровнем конфига сначала добавляет нужный мне предмет, потом открывает инвентарь. Но когда я пытаюсь сделать так:
p.closeInventory();
и следующим методом открыть его заного p.OpenInventory(blabla);
то грубо говоря он просто даже не закрывается с виду, в общем предмет остается прежний
 
Конечно, действия такие:
При клике на предмет в конфиг сохраняется +1 уровень, далее инвентарь закрывается и когда я его открываю снова через команду предмет меняется как положено, команда в соответствии с уровнем конфига сначала добавляет нужный мне предмет, потом открывает инвентарь. Но когда я пытаюсь сделать так:
p.closeInventory();
и следующим методом открыть его заного p.OpenInventory(blabla);
то грубо говоря он просто даже не закрывается с виду, в общем предмет остается прежний
Вот бы код
 
Назад
Верх