Не работает геттер для Inventory

Baroness's Dev

Разработчик
Сап, спигот. Трейс указывает на пустую переменную инвентаря при команде.
В главном классе задана private static Inventory shopInv;. После создан вызываемый в onEnable метод:

Java:
void registerShopInv() {
    shopInv = Bukkit.createInventory(null, 54, ChatColor.DARK_GREEN + "Админшоп SapphireLife");
}
Создан акцессор:
Java:
public static Inventory getShopInv() {
        return shopInv;
    }
Далее - класс обработчика команды. Вызвана переменная через акцессор: Inventory inv = Baroness.getShopInv();

И далее код, где ошибка на p.openInventory(inv);:
Java:
@Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (sender instanceof Player) {
            Player p = (Player) sender;
            p.openInventory(inv);
        }
        return true;
    }
 
Последнее редактирование:

Spokers

Пользователь
Java:
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player p = (Player) sender;
p.openInventory(inv());
return true;
}
/
попробуй так
 

Baroness's Dev

Разработчик
Spokers, () для методов используется. Даже IDE ругается, если так делать
Авто объединение сообщений:

Нужно было вызывать регисторы в onLoad().
 
Последнее редактирование:

Комнаты в чате

Верх Низ