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

    Résolu [1.7.x] Modifier des recettes vanilla

    1.7.x
    3
    10
    2073
    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.
    • M
      MrAzErTy31 dernière édition par

      Bonsoir tout le monde, je voudrais modifier les recettes de crafting de la pomme d’or, en remplaçant la pomme du milieu par une pomme crée via le mod, tout fonctionne bien, le seul problème, c’est que l’on peut quand même crafter la pomme d’or avec la recette classique, j’ai donc cherché sur google et j’ai trouvé cette fonction :

      
      private void removeRecipe(ItemStack resultItem)
      {
      ItemStack recipeResult = null;
      ArrayList recipes = (ArrayList) CraftingManager.getInstance().getRecipeList();
      for (int scan = 0; scan < recipes.size(); scan++)
      {
      IRecipe tmpRecipe = (IRecipe) recipes.get(scan);
      if (tmpRecipe instanceof ShapedRecipes)
      {
      ShapedRecipes recipe = (ShapedRecipes)tmpRecipe;
      recipeResult = recipe.getRecipeOutput();
      }
      if (tmpRecipe instanceof ShapelessRecipes)
      {
      ShapelessRecipes recipe = (ShapelessRecipes)tmpRecipe;
      recipeResult = recipe.getRecipeOutput();
      }
      if (ItemStack.areItemStacksEqual(resultItem, recipeResult))
      {
      System.out.println("[MODID] Removed Recipe: " + recipes.get(scan) + " -> " + recipeResult);
      recipes.remove(scan);
      }
      }
      }
      
      

      Voilà ce que j’ai mis :

      
      @EventHandler
      public void preInit(FMLPreInitializationEvent event)
      {
      removeRecipe(new ItemStack(Items.golden_apple));
      removeRecipe(new ItemStack(Items.speckled_melon));
      /* La suite … */
      
      

      EDIT : Le nouveau craft du melon marche bien et le craft vanilla est désactivé mais celui de la pomme persiste
      Sauf que le problème c’est que euh ça marche pas ^^ Donc comme en forge 1.7.2 avec gradle nous ne pouvons plus modifier les fichiers minecrafts vanillas alors je voudrais demander si modifier une recette de craft vanilla serait possible 🙂

      Merci d’avance ;)[

      Mes mods :

      >! GGButtonMod : http://minecraftforgefrance.fr/showthread.php?tid=1280
      CraftYourMenu : http://minecraftforgefrance.fr/showth…

      1 réponse Dernière réponse Répondre Citer 0
      • zery59
        zery59 dernière édition par

        Bah… Je crois que tu dois utiliser MCP pour changer les codes du jeu. Forge Gradle permet justement de ne pas toucher à ces fichiers (Pour éviter certain malin d’exploiter un bug ou autre…)

        Joueur PC Master Race :D
        Config : MSI B85-G43 GAMING - Intel Core i5 4460 @3.2GHz - be Quiet! Pure Rock - 8 Go DDR3 CAS 9 - Saegate SSHD 1 To - Zotac GTX 960 - Cooler Master G550M - Creative Sound Blaster Z - Logitech G230 - Razer DeathAdder Chroma - BlueStork KEYZ#1 (Azerty) - Zalman Z11+ - Asus VE247H

        1 réponse Dernière réponse Répondre Citer 0
        • M
          MrAzErTy31 dernière édition par

          Ok merci de ta réponse 😉

          Mes mods :

          >! GGButtonMod : http://minecraftforgefrance.fr/showthread.php?tid=1280
          CraftYourMenu : http://minecraftforgefrance.fr/showth…

          1 réponse Dernière réponse Répondre Citer 0
          • robin4002
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

            Tu parle de la pomme en or cheaté avec les blocs d’or ? Car c’est ça :
            removeRecipe(new ItemStack(Items.golden_apple, 1, 1));
            L’autre code :
            removeRecipe(new ItemStack(Items.golden_apple));
            C’est pour la pomme normal.

            Aussi, mets le code dans postInit, et non dans preInit comme tu touche au recette.

            Et en passant, 24h avant un up.

            1 réponse Dernière réponse Répondre Citer 0
            • M
              MrAzErTy31 dernière édition par

              Non, je veux changer le craft de la pomme d’or normale, en remplacant la pomme du milieu par une autre pomme crée par le mod,
              PS : Si je le mets dans le postInit, les recettes crées dans le preInit vont s’effacer aussi non ?

              Mes mods :

              >! GGButtonMod : http://minecraftforgefrance.fr/showthread.php?tid=1280
              CraftYourMenu : http://minecraftforgefrance.fr/showth…

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                Oui, tu dois refaire ta recette après avoir supprimé l’autre.
                D’ailleurs les recettes ne vont pas dans preInit, normalement elles vont dans init ou postInit.

                1 réponse Dernière réponse Répondre Citer 0
                • M
                  MrAzErTy31 dernière édition par

                  Merci pour ta réponse 🙂 Le craft du melon doré est bien remplacé par le nouveau mais le craft vanilla de la pomme reste activé saurais-tu pourquoi ?

                  Mes mods :

                  >! GGButtonMod : http://minecraftforgefrance.fr/showthread.php?tid=1280
                  CraftYourMenu : http://minecraftforgefrance.fr/showth…

                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                    Essaye avec ça :

                    public static void removeRecipe(ItemStack stack)
                    {
                    List <irecipe>recipeList = CraftingManager.getInstance().getRecipeList();
                    for(int i = 0; i < recipeList.size(); i++)
                    {
                    ItemStack output = recipeList.get(i).getRecipeOutput();
                    if(output != null && stack.getItem() == output.getItem() && stack.getItemDamage() == output.getItemDamage())
                    {
                    recipeList.remove(i);
                    System.out.println("Removed recipe for : " + output.getItem().getUnlocalizedName(output));
                    }
                    }
                    }
                    ```</irecipe>
                    1 réponse Dernière réponse Répondre Citer 1
                    • M
                      MrAzErTy31 dernière édition par

                      RESOLU ! Merci beaucoup Robin ! 🙂


                      Comment as-tu trouvé ceci ?

                      Mes mods :

                      >! GGButtonMod : http://minecraftforgefrance.fr/showthread.php?tid=1280
                      CraftYourMenu : http://minecraftforgefrance.fr/showth…

                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                        C’est un code que j’avais modifié pour ffmt lib, la fonction areItemStacksEqual que tu utilisais dans l’autre méthode vérifie aussi le tagnbt et d’autre truc il me semble, dans ma fonction je vérifie que l’item et sont metadata.

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

                        MINECRAFT FORGE FRANCE © 2018

                        Powered by NodeBB