- Баллы
- 76
- Имя в Minecraft
- Jenka20091
Шапка. + я нашёл только event.getBlock() но он не является ItemStack. Мне нужно сделать так, если displayname печки равен "&c&lтест" - то e.setCancelled(true);
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Потому что блок -- это не ItemStack. Если нужен заголовок, то getBlockState(), кастишь к Furnace, далее getInventory, getCustomName.Шапка. + я нашёл только event.getBlock() но он не является ItemStack. Мне нужно сделать так, если displayname печки равен "&c&lтест" - то e.setCancelled(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.Код:@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); } }
не работает и ошибок нету
А ещё e.setCookTime ..Стоит попробовать проверить имя печи, возможно не совпадает. Метод возвращает String, а в TileEntity хранится JSON.
Всё совпадает.Стоит попробовать проверить имя печи, возможно не совпадает. Метод возвращает String, а в TileEntity хранится JSON.
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/inventory/FurnaceBurnEvent.htmlА ещё e.setCookTime ..
Вместо furn
Не удаётся изменить время горения печи?Всё совпадает.
Да, скорость переплавленияНе удаётся изменить время горения печи?
Тогда нужно менять скорость переплавки в ItemStack и эту печку выдать игроку, а не во время этого ивента.https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/inventory/FurnaceBurnEvent.html
Я что-то не вижу тут такого метода.