Помогите Как получить ItemStack печки в FurnaceBurnEvent

adodvstudios

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Jenka20091
Шапка. + я нашёл только event.getBlock() но он не является ItemStack. Мне нужно сделать так, если displayname печки равен "&c&lтест" - то e.setCancelled(true);
 
Шапка. + я нашёл только event.getBlock() но он не является ItemStack. Мне нужно сделать так, если displayname печки равен "&c&lтест" - то e.setCancelled(true);
Потому что блок -- это не ItemStack. Если нужен заголовок, то getBlockState(), кастишь к Furnace, далее getInventory, getCustomName.
 
Код:
@EventHandler
    public void onBurn(FurnaceBurnEvent e) {
        Furnace furn = (Furnace)e.getBlock().getState();
        if(furn.getCustomName().equals("Супер-Печь 2 уровня")) {
            furn.setBurnTime((short)10);
            furn.setCookTime((short)10);
            furn.update();
            furn.update(true);
        } else if(furn.getCustomName().equals("Супер-Печь 3 уровня")) {
            furn.setBurnTime((short)25);
            furn.setCookTime((short)25);
            furn.update();
            furn.update(true);
        } else if(furn.getCustomName().equals("Супер-Печь 4 уровня")) {
            furn.setBurnTime((short)40);
            furn.setCookTime((short)40);
            furn.update();
            furn.update(true);
        } else if(furn.getCustomName().equals("Супер-Печь 5 уровня")) {
            furn.setBurnTime((short)75);
            furn.setCookTime((short)75);
            furn.update();
            furn.update(true);
        }
    }

не работает и ошибок нету
 
Код:
@EventHandler
    public void onBurn(FurnaceBurnEvent e) {
        Furnace furn = (Furnace)e.getBlock().getState();
        if(furn.getCustomName().equals("Супер-Печь 2 уровня")) {
            furn.setBurnTime((short)10);
            furn.setCookTime((short)10);
            furn.update();
            furn.update(true);
        } else if(furn.getCustomName().equals("Супер-Печь 3 уровня")) {
            furn.setBurnTime((short)25);
            furn.setCookTime((short)25);
            furn.update();
            furn.update(true);
        } else if(furn.getCustomName().equals("Супер-Печь 4 уровня")) {
            furn.setBurnTime((short)40);
            furn.setCookTime((short)40);
            furn.update();
            furn.update(true);
        } else if(furn.getCustomName().equals("Супер-Печь 5 уровня")) {
            furn.setBurnTime((short)75);
            furn.setCookTime((short)75);
            furn.update();
            furn.update(true);
        }
    }

не работает и ошибок нету
Стоит попробовать проверить имя печи, возможно не совпадает. Метод возвращает String, а в TileEntity хранится JSON.
 
Назад
Верх