Похоже, что у вас возникли проблемы с обработкой событий на кнопках в меню. Чтобы помочь вам, мне нужно больше информации о том, как вы реализовали меню и кнопки. Тем не менее, вот общая структура, которая может помочь вам правильно настроить обработку событий для двух кейсов в одном меню.
Пример кода на Java для создания меню с двумя кейсами:
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
public class CaseMenuPlugin extends JavaPlugin {
@Override
public void onEnable() {
// Ваш код инициализации плагина
}
public void openCaseMenu(Player player) {
Inventory menu = Bukkit.createInventory(null, 27, "Выберите кейс");
// Создание и добавление первого кейса
ItemStack case1 = createCaseItem("Кейс 1", "Описание кейса 1");
menu.setItem(21, case1);
// Создание и добавление второго кейса
ItemStack case2 = createCaseItem("Кейс 2", "Описание кейса 2");
menu.setItem(23, case2);
player.openInventory(menu);
}
private ItemStack createCaseItem(String name, String description) {
// Создание предмета для кейса
ItemStack item = new ItemStack(/* ваш материал */);
// Установка имени и описания предмета
// ...
return item;
}
// Обработка кликов по предметам в меню
@Override
public void onInventoryClick(InventoryClickEvent event) {
if (event.getInventory().getName().equals("Выберите кейс")) {
event.setCancelled(true); // Отменяем стандартное поведение
ItemStack clickedItem = event.getCurrentItem();
Player player = (Player) event.getWhoClicked();
if (clickedItem != null) {
if (clickedItem.isSimilar(createCaseItem("Кейс 1", "Описание кейса 1"))) {
// Логика для первого кейса
player.sendMessage("Вы выбрали Кейс 1!");
} else if (clickedItem.isSimilar(createCaseItem("Кейс 2", "Описание кейса 2"))) {
// Логика для второго кейса
player.sendMessage("Вы выбрали Кейс 2!");
}
}
}
}
}
Убедитесь, что:
1. Вы правильно обрабатываете события
InventoryClickEvent.
2. Вы используете
event.setCancelled(true);, чтобы предотвратить закрытие меню при нажатии на кнопки.
3. Сравниваете предметы с помощью метода
isSimilar(), чтобы правильно определять, какой кейс был выбран.
Если у вас есть конкретные ошибки или сообщения, пожалуйста, предоставьте их, и я помогу вам более детально.