Как добавить крафт предмета в механизмах IC2

Версия Minecraft
1.7.10
API
Forge
Я написал аддон, добавляющий предметы, добавил библиотеки ic2 но как сделать регистрацию создания одного предмета из другого в механизме MetalFormer.addRollingRecipe "металлоформовочный механизм - прокатка" из IC2? Пожалуйста подскажите как решить эту проблему и тогда будет понятно как работать и с другими механизмами.
В minetweaker делается вот так, но мне нужно добавить регистрацию создания именно в свой мод. Как это сделать? Если я тупо скопирую код созданный для minetweaker в класс своего мода, то он не будет работать, тем более в нем нет регистрации. Вот представлен код для minetweaker
1696609672494.png
Вот мой код, который не работает:
package common.handler;

import cpw.mods.fml.common.registry.GameRegistry;
import ic2.api.recipe.IMachineRecipeManager;
import ic2.api.recipe.Recipes;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;

public class ModRecipes
{
    public static void registerRecipes()
    {  
    GameRegistry.addRecipe.metalformerRolling(Items.arrow, Items.beef);
    }
}
//Items.arrow и Items.beef взял для этого примера
 

Вложения

  • 1696609562075.png
    1696609562075.png
    35.4 KB · Просмотры: 1
1,038
57
229
вы не понимаете разницу между тем что он ждёт IRecipeInput, а не ItemStack? это не одно и тоже
 
1,038
57
229
не факт что будет работать, мне было просто любопытно что он ответит.
И в вашем сообщении я не видел надписи что вы к ЧАТу обращались и что он Вам посоветовал сделать так.
А что такое IRecipeInput достаточно вбить в гугл и получить куча примеров которые можно попробовать самому
в том числе написав: Recipes.metalformerRolling.addRecipe
и посмотреть что выдаст гугл
 
1,038
57
229
и гугл выдал ответ
1696663281417.png
аж целых два
 
1,038
57
229
1,038
57
229
Наводите на IRecipeManager мышкой и импортируйте класс
мне нужен скриншот подключенных библиотек, в котором есть ic2.api.recipe
ИЛИ вышлите целиком всю свою папку архивом (вместе с gradlew) на dropmefiles.com или мне в telegram (ник тот же)
 
1,038
57
229
Мне не удобно бегать туда сюда
1696665691564.png
название какое? ic2.api.recipe.IMachineReciepeManager
мне кажется вы что то пропустили. Чат выдал код видимо от другой версии. Ведь их много. Его конечно можно попросить выдать нужную, но это надо сделать Вам, а не мне.
Так что возвращаемся к первоначальному варианту с IRecipeInput
я по прежнему жду окружение, потому что мне не видно с чем вы работаете и такой среды как 1.7.10 у меня просто нет.
 
1,038
57
229
у меня не работает ваша среда разработки, даже если убрать весь мод. Он не компилирует пустой проект.
Вы хотя бы 1 мод собрали на ней? Игра запускается? Просто как вы потом будете собирать его.
 
1,038
57
229
Последнее редактирование:
на разных форумах говорят чтобы понять как это делать, нужно открыть код индастриала и просмотреть там как делается регистрация создания, но там настолько всё сложно, запутанно и непонятно написано и с обфускацией что я это никогда не пойму. Прошу, пожалуйста напишите пример кода регистрирующего рецепт создания одного предмета из другого для механизма MetalFormer.addRollingRecipe
 
1,038
57
229
А вообще в первую очередь ищут исходники в гугл вот так: ic2 source
неужели я один вижу эту надпись?
1696617157732.png
 
Последнее редактирование:
1,038
57
229
Почему кринжанул, там есть даже версия под 1.19
Я конечно давно его не скачивал, но видел в том числе исходники IC2 Refined GitHub - thekdub/IC2-Refined: IndustrialCraft 2 Refined for Minecraft 1.2.5. Optimized for Tekkit Classic 3.1.2.. Короче кому надо тот найдет сразу исходники.
Как можно имея доступ поиске на форуме, к ютуб, к другим модам с Course Forge, к ЧАТам - и при этом не иметь возможности найти готовый ответ. В те времена когда этого всего не было кроме гугл и пару форумов по модингу изучил это за пару месяцев. Я любил связку IC2 + BC2 + Forestry + RedPower + RailCraft, и мне не хватало для своего мода такого устройства как аккумулятор, который мог бы как принимать, так и раздавать. И чтобы мог спокойно работать хоть с IC, хоть с BC, хоть RC.
Не получается.. ну дык пишите ошибки, будем править по ошибкам.
Уйдет год на освоение аддонов, пусть так. Вам куда спешить то? Если вы не готовы к такому повороту событий - заказывайте у фрилансеров. А потом сидите и изучайте исходники для понимания.

Я вообще не понимаю как представленный здесь код хоть как то стал работать хоть в каком то окружении. Это вообще не так делается.
Либо твик, либо ты ловишь IC2 и там же добавляешь рецепты (у него есть специальные для этого методы).
Я писал свой твик на версию 1.2.5, 1.4.7, и 1.6.4
 
Последнее редактирование:
А вообще в первую очередь ищут исходники в гугл вот так: ic2 source
неужели я один вижу эту надпись?
В том то и дело, что за месяц я на каких только форумах не побывал, и в ютубе искал и chatgpt использовал, ну нету информации и гайдов про добавление в аддоне крафтов на механизмах из индастриала, я понятия не имею откуда, с каких подробных источников вы черпаете информацию что вам всё понятно. Теперь у меня ошибку показывает 54 строка слово addRecipe название ошибки: "
The method addRecipe(IRecipeInput, NBTTagCompound, ItemStack...) in the type IMachineRecipeManager is not applicable for the arguments (ItemStack, null, ItemStack[]) ModRecipes.java /Minecraft/src/main/java/common/handler line 54 Java Problem"

Вот мой код:
package common.handler;

import cpw.mods.fml.common.registry.GameRegistry;
import ic2.api.recipe.IRecipeInput;
import ic2.api.recipe.Recipes;
import ic2.core.Ic2Items;
import net.minecraft.block.Block;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;

public class ModRecipes
{
    public static void registerRecipes()
    {      
      //GameRegistry.addShapedRecipe(new ItemStack(ModItems.INFINITY_SWORD), "XYX", "XYX", "XZX", 'X', Items.apple,'Z',ModItems.apple,'Y',ModItems.apple);
       
        GameRegistry.addShapedRecipe(new ItemStack(ModItems.INFINITY_FUEL), " Y ", " Y ", " Z ", 'Z',ModItems.INFINITY_IHOR,'Y',ModItems.SENSOR); // форменный рецепт
       
        GameRegistry.addShapelessRecipe(new ItemStack(ModItems.INFINITY_IHOR), Items.iron_ingot, plcar, rotorblade); // бесформенный рецепт
       
        GameRegistry.addSmelting(ModItems.INFINITY_IHOR, new ItemStack(ModItems.SENSOR), 435.5F); //рецепт для печи
       
    /*        GameRegistry.addShapedRecipe(Ic2Items.diamondDrill.copy(),
                "DDD",
                "DBD",
                " A ",
                'D', Items.diamond,
                'B', Ic2Items.reactorAccessHatch,
                'A', Ic2Items.insulatedGoldCableItem);
           
            */      
    }  
   
   
    public static final ItemStack plcar   =      Ic2Items.advbatPack.copy();
    public static final ItemStack coins   =       Ic2Items.advminer.copy();
    public static final ItemStack u235       =      Ic2Items.advironblock.copy();
    public static final ItemStack irpart  =        Ic2Items.batBox.copy();
    public static final ItemStack rawcarbon =     Ic2Items.blockBarrel.copy();
    public static final ItemStack rotorblade =  Ic2Items.canner.copy();
    public static final Block ladder = Block.getBlockById(65);
    public static final Block bars   = Block.getBlockById(101);
    public static final Block slime  = Block.getBlockById(165);
   

   
    static void addMachineRecipe()
     {  
        //Recipes.metalformerRolling.addRecipe(new ItemStack(Items.bed), null, new ItemStack(Items.baked_potato));
       
         ItemStack inputStack = new ItemStack(Items.bed);
            ItemStack[] outputStacks = {new ItemStack(Items.baked_potato)};
            Recipes.metalformerRolling.addRecipe(inputStack, null, outputStacks);
     }
   
   
     private static void addCompressorRecipe(IRecipeInput input, ItemStack output)
     {
         Recipes.compressor.addRecipe(input, (NBTTagCompound)null, new ItemStack[] {output});
     }
   
     private static void addMaceratorRecipe(IRecipeInput input, ItemStack output)
     {
         ic2.api.recipe.Recipes.macerator.addRecipe(input, (NBTTagCompound)null, new ItemStack[] {output});
     }
   
     private static void addExtractorRecipe(IRecipeInput input, ItemStack output)
     {
         ic2.api.recipe.Recipes.extractor.addRecipe(input, (NBTTagCompound)null, new ItemStack[] {output});
     }
   
   
     private static void addRollingRecipe(IRecipeInput input, ItemStack output)
     {
         ic2.api.recipe.Recipes.metalformerRolling.addRecipe(input, (NBTTagCompound)null, new ItemStack[] {output});
     }
   
     private static void addCuttingRecipe(IRecipeInput input, ItemStack output)
     {
         ic2.api.recipe.Recipes.metalformerCutting.addRecipe(input, (NBTTagCompound)null, new ItemStack[] {output});
     }
   
     private static void addExtrudingRecipe(IRecipeInput input, ItemStack output)
     {
         ic2.api.recipe.Recipes.metalformerExtruding.addRecipe(input, (NBTTagCompound)null, new ItemStack[] {output});
     }
   
}
 
А вообще в первую очередь ищут исходники в гугл вот так: ic2 source
неужели я один вижу эту надпись?
ты можешь дать ссылку на источник или сам написать пример кода, который работает на 1.7.10 и добавляет крафт одного предмета из другого для механизма "металлоформовщик - прокатка" ну пожалуйста. Я знаю что вы ассы и во всём разбираетесь, и что можно достичь высот за месяц, но пожалуйста, можно конкретики именно по данному вопросу?
 
1,038
57
229
можно вес лог ошибки? под спойлер

в 54ой строке у вас
1696661994306.png
никакого Machine здесь нет

The method addRecipe(IRecipeInput, NBTTagCompound, ItemStack...) in the type IMachineRecipeManager is not applicable for the arguments (ItemStack, null, ItemStack[])
он говорит что он ждёт IRecipeInput, NBTTagCompound, ItemStack[]
а вы передаёте ему ItemStack, null, ItemStack[]
найдите отличия
 
Последнее редактирование:
Сверху