Изменение дропа со стандартных блоков.

Статус
В этой теме нельзя размещать новые ответы.
176
0
Вопрос решен!
Рабочий код для 1,6,4 для смены дропа с блока

Код:
public class CustomOreDrop{
    @ForgeSubscribe
    public void handleBlockDrops(BlockEvent.HarvestDropsEvent e){
        if(e.block == Block.oreIron){
            e.drops.clear();
            e.drops.add(new ItemStack(Item.axeDiamond));
        }
    }
}

И вставляю в файл мода строкой

Код:
MinecraftForge.EVENT_BUS.register(CustomOreDrop());
 

necauqua

когда-то был anti344
Администратор
1,216
27
172
Что-то ты совсем слева поехал. Перечитай статью в учебнике про события, а то бред пишешь.
 
905
5
Оуеть.
Идешь в Block.java и ищешь "drop".
 
Ты сделал, по сути, отдельный блок, наследующий BlockOre. Это не ивент. Ересь да и только
 
771
5
BlockEvent, там несколько ивентов, втом числе и дроп.
 
Тоже интересует данный вопрос. Необходимо изменить дроп Железной руды на свой итем посредством forge, без изменения стандартных классов. В сети нашел только как изменить дроп мобов. Желающих помочь отблагодарю материально.
 

necauqua

когда-то был anti344
Администратор
1,216
27
172
ОТБЛАГОДАРИ МЕНЯ ПОЛНОСТЬЮ


class MyEventHandlerClass{

    @SubscribeEvent
    public void handleBlockDrops(BlockEvent.HarvestDropsEvent e){
        if(e.block == Blocks.iron_ore){
            e.drops.clear();
            e.drops.add(new ItemStack(Items.diamond_axe, 26));
        }
    }
}


MinecraftForge.EVENT_BUS.register(new MyEventHandlerClass());
 
176
0
Код:
public class CustomOreDrop {
    @Subscribe
    public void handleBlockDrops(BlockEvent.HarvestDropsEvent e){
        if(e.block == Block.blockIron){
            e.drops.clear();
            e.drops.add(new ItemStack(Item.axeIron, 26));
        }
    }
}
Вот так не работает (
 
2,955
12
1. Какое Subscribe? Что за херню ты пишешь? Если ты на 1.7 - @SubscribeEvent, а если ниже 1.7 то @ForgeSubsribe
2. В главном классе мода хоть на какой стадии инитализации надо прописать:
MinecraftForge.EVENT_BUS.register(new ТвойКласс());
 
176
0
Dragon2488 написал(а):
1. Какое Subscribe? Что за херню ты пишешь? Если ты на 1.7 - @SubscribeEvent, а если ниже 1.7 то @ForgeSubsribe
2. В главном классе мода хоть на какой стадии инитализации надо прописать:
MinecraftForge.EVENT_BUS.register(new ТвойКласс());

И оно всё ещё не работает. И да. Я прописал EVENT_BUS в инициализации.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху