Предмет со временем горения

Версия Minecraft
1.12.2
1,367
111
239
В общем, как не извертелся, но предметы, то работают, то нет. Делал по гайду (ищите по названию "Свой предмет со врменем горения"), использовал 2 вариант. P.S. Использовал один метод из-за того, что здесь хоть 2 предмета работает.

Java:
       @SubscribeEvent
        public static void fuel(FurnaceFuelBurnTimeEvent e) {
            if (e.getItemStack().getItem() == Items.BLAZE_ROD)//Работает
                e.setBurnTime(1200);
            if (e.getItemStack().getItem() == Items.BLAZE_POWDER)
                e.setBurnTime(600);
            if (e.getItemStack().getItem() == Item.getItemFromBlock(Blocks.WOOL))//Работает
                e.setBurnTime(100);
            if (e.getItemStack().getItem() == Items.STRING)//НП
                e.setBurnTime(50);
            if (e.getItemStack().getItem() == Items.MAGMA_CREAM)
                e.setBurnTime(300);
            if (e.getItemStack().getItem() == Items.DRAGON_BREATH)
                e.setBurnTime(2000);
            if (e.getItemStack().getItem() == Items.PAPER)//НП
                e.setBurnTime(25);
            if (e.getItemStack().getItem() == Items.BOOK)//НП
                e.setBurnTime(70);
            if (e.getItemStack().getItem() == Items.NETHER_STAR)
                e.setBurnTime(12000);
            if (e.getItemStack().getItem() == Items.BANNER)//НП
                e.setBurnTime(150);
            if (e.getItemStack().getItem() == Items.ARMOR_STAND)//НП
                e.setBurnTime(175);
            if (e.getItemStack().getItem() == Items.FEATHER)//НП
                e.setBurnTime(20);
Заранее спасибо вам.
 
1,367
111
239
Здесь про это вообще ничего не написано. //НП - метка для меня, что не проверял. Забыл убрать. Иногда сменял предметы, вот и поставил. На счёт static:
Вариант 2.
Изменение через эвент получения времени горения.
Java:
    @SubscribeEvent
    public [B]static[/B] void fuel(FurnaceFuelBurnTimeEvent e) { // Эвент получения времени горения.
        if (e.getItemStack().getItem() == TMRegistry.itemWithFuel) // Проверка на наш предмет.
            e.setBurnTime(200); // Установка времени горения. Отменять эвент не нужно, т.к. он сам это уже делает.
    }
 
Последнее редактирование:
3,005
192
592
Как именно регистрируешь предмет?
Если MinecraftForge.EVENT_BUS.register(this);, то статик не нужен.
Если @Mod.EventBusSubscriber(modid = "mymodid") то статик нужен.
 
Сверху