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

Появилась идея, решил сделать свой мод. Но не могу нигде найти как добавить лут к блоку из стандартного майнкрафта. Нужно чтоб из листвы с некоторой вероятностью выпадали палки. Так же нужно удалить/изменить несколько стандартых игровых крафтов. Только начинаю в этом разбираться, по этому если не сложно - напишите варианты команд с описанием.
Буду очень благодарен =)
Версия 1.7.10
 
[1.7.10] Перехват дропа с руды
[merge_posts_bbcode]Добавлено: 22.08.2015 15:01:46[/merge_posts_bbcode]

Код:
@SubscribeEvent
public void dropFoliage(BlockEvent.HarvestDropsEvent event) {
Block block = event.block;
        
if (block == Blocks.leaves || block == Blocks.leaves2) {
if (event.world.rand.nextInt(3) == 0) event.drops.add(new ItemStack(Items.stick));
}

}
 
Код:
public static void removeCraftingRecipe() {
        List<IRecipe> recipes = CraftingManager.getInstance().getRecipeList();

        Iterator<IRecipe> remover = recipes.iterator();

        while (remover.hasNext()) {
            ItemStack itemstack = remover.next().getRecipeOutput();
            if (itemstack != null && itemstack.getItem() == Items.apple) { //удалит рецепт яблока
                remover.remove();
//##############################
            } else if (itemstack != null && itemstack.getItem() == Items.arrow) { //рецепт стрелы удалит
                remover.remove();
//##############################
            }
        }
    }

[font=Verdana, Helvetica, Arial, sans-serif]В ините :[/font]
Код:
Имя твоего класса в котором код выше.removeCraftingRecipe;




Код:
/**
     * удаляет рецепты из печи по входному элементу /может удалять только ItemStack/
     *
     */
        @SuppressWarnings("unchecked")
        public static void removeFurnaceRecipe(ItemStack furnaceInput)
        {
            Map<ItemStack, ItemStack> recipes = FurnaceRecipes.smelting().getSmeltingList();
            Iterator<Map.Entry<ItemStack, ItemStack>> recipeIterator = recipes.entrySet().iterator();
            while (recipeIterator.hasNext())
            {
                Map.Entry<ItemStack, ItemStack> entry = recipeIterator.next();
                if (ItemStack.areItemStacksEqual(entry.getKey(), furnaceInput))
                {
                    recipeIterator.remove();
                }
            }
        }
В ините
Код:
класс в котором код выше.removeFurnaceRecipe(итем стак)
Как создать итем стак думаю знаешь
 
timaxa007 написал(а):
[1.7.10] Перехват дропа с руды
[merge_posts_bbcode]Добавлено: 22.08.2015 15:01:46[/merge_posts_bbcode]

Код:
@SubscribeEvent
public void dropFoliage(BlockEvent.HarvestDropsEvent event) {
Block block = event.block;
        
if (block == Blocks.leaves || block == Blocks.leaves2) {
if (event.world.rand.nextInt(3) == 0) event.drops.add(new ItemStack(Items.stick));
}

}
Не сработало..
 
Код:
@SubscribeEvent
    public void dropCoalOre(BlockEvent.HarvestDropsEvent e) {


        if (e.block == Blocks.snow) {
            e.drops.clear();//Очистка существующего дропа выбранного блока в условиях.
            e.drops.add(new ItemStack(Blocks.coal_ore, 2, 0));//Добавляем в список дропа выбранного блока в условиях, наш дроп.
        }
    }
 
Назад
Сверху