• Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes
  • S'inscrire
  • Se connecter
  • S'inscrire
  • Se connecter
  • Recherche
  • Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes

Résolu Problème de recette [1.7.10]

1.7.x
1.7.10
4
9
346
Charger plus de messages
  • Du plus ancien au plus récent
  • Du plus récent au plus ancien
  • Les plus votés
Répondre
  • Répondre à l'aide d'un nouveau sujet
Se connecter pour répondre
Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
  • Deans
    Deans dernière édition par 22 juil. 2019, 17:07

    Bonjour à vous,

    Après des jours de tentatives pour essayer de comprendre pourquoi mes recettes sur mon mod ne veulent pas fonctionner. J’ai essayé de chercher des solutions de partout, mais aucun ne permet de résoudre mon problème.

    Je vais vous résumer la situation, j’ai fait une “machine” dans mon mod, tout fonctionne bien, gui, container, tile entity et le block, mais lorsque je souhaite effectuer un craft rien de ne se passe. J’ai bien fait la classe pour les recettes et enregistrer mes recettes dans la classe “RecipesMod” mais rien de change. Je vais vous partager les classes pour mieux comprendre.

    La classe StickMachineRecipes :

    import java.util.Iterator;
    import java.util.Map;
    import java.util.Map.Entry;
    import cpw.mods.fml.common.registry.GameRegistry;
    import fr.irisium.irisiummod.init.BlocksMod;
    import fr.irisium.irisiummod.init.ItemsMod;
    import net.minecraft.block.Block;
    import net.minecraft.init.Blocks;
    import net.minecraft.init.Items;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraft.item.crafting.CraftingManager;
    import net.minecraft.item.crafting.FurnaceRecipes;
    public class StickMachineRecipes
    {
    private static final StickMachineRecipes instance = new StickMachineRecipes();
    private Map smeltingList = new HashMap();
    public StickMachineRecipes()
    {
    }
    public void add(ItemStack stack1, ItemStack stack2, ItemStack stack3, ItemStack stack4, ItemStack stack5, ItemStack stack) {
    ItemStack[] stackList = new ItemStack[]{stack1, stack2, stack3, stack4, stack5};
    this.smeltingList.put(stackList, stack);
    }
    public void add(Item item1, Block item2, Item item3, Block item4, Item item5, ItemStack stack) {
    this.add(new ItemStack(item1), new ItemStack(item2), new ItemStack(item3), new ItemStack(item4), new ItemStack(item5), stack);
    }
    public void add(Item item1, Item item2, Item item3, Item item4, Item item5, ItemStack stack) {
    this.add(new ItemStack(item1), new ItemStack(item2), new ItemStack(item3), new ItemStack(item4), new ItemStack(item5), stack);
    }
    public void add(Block item1, Block item2, Item item3, Block item4, Block item5, ItemStack stack) {
    this.add(new ItemStack(item1), new ItemStack(item2), new ItemStack(item3), new ItemStack(item4), new ItemStack(item5), stack);
    }
    public void add(Item item1, Block item2, Block item3, Block item4, Block item5, ItemStack stack) {
    this.add(new ItemStack(item1), new ItemStack(item2), new ItemStack(item3), new ItemStack(item4), new ItemStack(item5), stack);
    }
    public ItemStack getSmeltingResult(ItemStack[] stack) {
    Iterator iterator = this.smeltingList.entrySet().iterator();
    while(iterator.hasNext()) {
    Entry entry = (Entry)iterator.next();
    if (this.isSameKey(stack, (ItemStack[])((ItemStack[])entry.getKey()))) {
    return (ItemStack)entry.getValue();
    }
    }
    return null;
    }
    private boolean isSameKey(ItemStack[] stackList, ItemStack[] stackList2)
    {
    boolean isSame = false;
    for (int i = 0; i <= 4; ++i)
    {
    if (stackList[i].getItem() != stackList2[i].getItem() || stackList[i].getItem() != stackList2[i].getItem())
    {
    return false;
    }
    isSame = true;
    }
    return isSame;
    }
    public Map getSmeltingList() {
    return this.smeltingList;
    }
    public static StickMachineRecipes smelting()
    {
    return instance;
    }
    public static StickMachineRecipes getManager()
    {
    return instance;
    }
    }

    La classe RecipesMod :

    import net.minecraft.init.Items;
    import net.minecraft.item.ItemStack;
    import fr.irisium.irisiummod.init.ItemsMod;
    import fr.irisium.irisiummod.init.BlocksMod;
    
    public class RecipesMod 
    {
    	public RecipesMod() 
    	{
    		
    	}
    	
    	public static void init() 
    	{
    		ItemsMod();
    		BlocksMod();
    		StickMachineRecipes();
    	}
    
    	private static void StickMachineRecipes() 
    	{
    		StickMachineRecipes.getManager().add(new ItemStack(ItemsMod.speedStick), new ItemStack(ItemsMod.speedOrb), new ItemStack(ItemsMod.irisiumIngot), new ItemStack(ItemsMod.irisiumStick), new ItemStack(ItemsMod.irisiumCore), new ItemStack(ItemsMod.eboniteIngot, 1));
    	}
    }
    

    J’espère que vous pourrez m’aider à résoudre ce problème.

    Merci d’avance.

    1 réponse Dernière réponse Répondre Citer 0
    • Heaven
      Heaven dernière édition par 23 juil. 2019, 14:01

      pour mettre un craft il faut mettre dans ta classe principale dans le @Mod.EventHandler public void init(FMLInitializationEvent event):

      new (nom de la classe ou il y a toute tes reccettes)().registerBrewingRecipes();

      puis dans ta classe des recettes tu met
      GameRegistry.addRecipe(new ItemStack(taclasse.tonitem), new Object[]{“NNN” ,“NNN”, “NNN”, ‘N’ , taclasse.tonobjet});
      //l item que tu veut craft //l item que tu a besoin pour craft ton item

      1 réponse Dernière réponse Répondre Citer 0
      • Deans
        Deans dernière édition par 23 juil. 2019, 15:25

        @Heaven a dit dans Problème de recette [1.7.10] :

        GameRegistry.addRecipe(new ItemStack(taclasse.tonitem), new Object[]{“NNN” ,“NNN”, “NNN”, ‘N’ , taclasse.tonobjet});

        J’ai fait ce que vous m’avez dit mais rien ne change, les crafts ne fonctionnent pas.

        1 réponse Dernière réponse Répondre Citer 0
        • blixow14
          blixow14 dernière édition par 23 juil. 2019, 15:57

          ça ne marche pas car le craft ne se fait pas depuis la table de craft mais depuis une machine

          J'aime les pâtes

          1 réponse Dernière réponse Répondre Citer 0
          • Deans
            Deans dernière édition par 24 juil. 2019, 21:42

            C’est ça que je veux, faire les crafts depuis la machine est non via la table de craft

            1 réponse Dernière réponse Répondre Citer 0
            • ZunF1x
              ZunF1x dernière édition par ZunF1x 30 juil. 2019, 13:56 30 juil. 2019, 13:49

              tu a essayer d’attendre un peu ? peut-être que ta pas defini ta texture de ta fleche qui indique lquand est-ce que le craft fonctionne donc faut attendre et puis peut-être que ca peut marcher puis verifi d’avoir mis le speedstick dans le slot #1 le speedore dans le slot #2 et puis le irisiumingot dans le slot #3… et sa pourrai peut-être marcher 🤔

              1 réponse Dernière réponse Répondre Citer 0
              • ZunF1x
                ZunF1x dernière édition par ZunF1x 30 juil. 2019, 13:55 30 juil. 2019, 13:55

                ou sinon supprime dans RecipesMod public static void StickMachineRecipes() et dans ta classe StickMachineRecipes tu met

                public StickMachineRecipes() {
                this.add(new ItemStack(ItemsMod.speedStick), new ItemStack(ItemsMod.speedOrb), new ItemStack(ItemsMod.irisiumIngot), new ItemStack(ItemsMod.irisiumStick), new ItemStack(ItemsMod.irisiumCore), new ItemStack(ItemsMod.eboniteIngot, 1));
                }

                ca peut peut être marcher essaye les deux trucs que je t’ai dit et sa peut peut être marcher ^^

                1 réponse Dernière réponse Répondre Citer 0
                • Deans
                  Deans dernière édition par 27 août 2019, 09:48

                  Bonjour, désolé pour l’attente, mais je suis partie en vacances donc je n’ai pas pu regarder les réponses. En soit j’ai bien mis la ligne de code dans ma classe StickMachineRecipes, en soit cela marche sauf que lorsque le craft à finit je reçois un message dans la console en me disant qu’il y a un problème. Voici le message :

                  text alternatif

                  Le problème vient de la classe TileEntityStickMachine, vous retrouverez le code plus haut.

                  Merci d’avance.

                  1 réponse Dernière réponse Répondre Citer 0
                  • Deans
                    Deans dernière édition par 27 août 2019, 10:17

                    C’est bon, le problème de la recette fonctionne.

                    Merci à vous !

                    1 réponse Dernière réponse Répondre Citer 0
                    • 1 / 1
                    1 sur 9
                    • Premier message
                      1/9
                      Dernier message
                    Design by Woryk
                    Contact / Mentions Légales

                    MINECRAFT FORGE FRANCE © 2018

                    Powered by NodeBB