1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем adodvstudios, 25 апр 2021.

  1. Автор темы
    adodvstudios

    adodvstudios Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    Шапка. + я нашёл только event.getBlock() но он не является ItemStack. Мне нужно сделать так, если displayname печки равен "&c&lтест" - то e.setCancelled(true);
     
  2. Veyn12

    Veyn12 Активный участник Пользователь Заблокирован

    Баллы:
    76
    Имя в Minecraft:
    Veynique
  3. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Потому что блок -- это не ItemStack. Если нужен заголовок, то getBlockState(), кастишь к Furnace, далее getInventory, getCustomName.
     
  4. Автор темы
    adodvstudios

    adodvstudios Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    Код:
    @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);
            }
        }
    не работает и ошибок нету
     
  5. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Стоит попробовать проверить имя печи, возможно не совпадает. Метод возвращает String, а в TileEntity хранится JSON.
     
  6. OJIEKCAHDP

    OJIEKCAHDP Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    А ещё e.setCookTime ..
    Вместо furn
     
  7. Автор темы
    adodvstudios

    adodvstudios Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    Всё совпадает.
     
  8. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
  9. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Не удаётся изменить время горения печи?
     
  10. Автор темы
    adodvstudios

    adodvstudios Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    Да, скорость переплавления
     
  11. OJIEKCAHDP

    OJIEKCAHDP Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP

Поделиться этой страницей