MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Interagir avec d'autres mods

    Planifier Épinglé Verrouillé Déplacé Sans suite
    11 Messages 5 Publieurs 2.4k Vues 1 Watching
    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 Hors-ligne
      MisterRedder
      dernière édition par

      Bonjour,

      Je souhaite interagir avec d’autres mods.
      Je m’explique :
      Je souhaite changer les recettes de computer craft
      Que faut il que je fasse pour cela ?

      Merci d’avance pour votre aide.

      PS : J’utilise Forge Build 953

      1 réponse Dernière réponse Répondre Citer 0
      • jglrxavpokJ Hors-ligne
        jglrxavpok Modérateurs
        dernière édition par

        Tout dépend de comment marche le mod avec lequel tu veux interagir, et s’il a une API correcte.
        Et changer une recette est assez dur vu qu’il faut récupérer la bonne recette. Tu peux aller faire un tour là pour ça.

        Modérateur sur MFF. 
        Mon Github: http://github.com/jglrxavpok
        Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

        1 réponse Dernière réponse Répondre Citer 0
        • MugiwaxarM Hors-ligne
          Mugiwaxar
          dernière édition par

          Bof, pas si compliquer que ça, j’ai réussit à faire un fonction qui supprime automatiquement les anciennes recettes des objets quand j’en ajoute une à moi

          En fait ta la classe RecipeManager, qui contient un tableau de toutes les recettes qui on été enregistrées, si tu connais l’objets qui résulte de la recette, il suffit de la supprimer de cette liste, et elle ne seras plus en jeux

          Edit: Bon allez, chui sympa, je te la file 😉

          Ne l’utilise pas bêtement en copiant/collant (bien que sa va quand même marché :D)

          PS: N’oublie pas de supprimer les recettes dans la PostInit !

          
          static public void removeRecipe(ItemStack item)
          {
          // –----- REMOVING VANILLA RECIPES ------ //
          List recipeList = CraftingManager.getInstance().getRecipeList();
          ArrayList <object>recipes = new ArrayList<object>();
          boolean recipeFound = false;
          
          // ------------- En cas de ShapedRecipes --------------- //
          for (Object object : recipeList.toArray())
          {
          if (object instanceof ShapedRecipes)
          {
          if (((ShapedRecipes)object).getRecipeOutput().getDisplayName().equals(item.getDisplayName()))
          {
          recipes.add(object);
          System.out.println("Fond ShapedRecipes for: " + item.getDisplayName() + ", recipe removed for this item: " + ((ShapedRecipes)object).getRecipeOutput().getDisplayName());
          }
          }
          
          // ------------- En cas de ShapelessRecipes --------------- //
          if (object instanceof ShapelessRecipes)
          {
          if (((ShapelessRecipes)object).getRecipeOutput().getDisplayName().equals(item.getDisplayName()))
          {
          recipes.add(object);
          System.out.println("Fond ShapelessRecipes for: " + item.getDisplayName() + ", recipe removed for this item: " + ((ShapelessRecipes)object).getRecipeOutput().getDisplayName());
          }
          }
          
          // ------------- En cas de ShapedOreRecipe --------------- //
          if (object instanceof ShapedOreRecipe)
          {
          if (((ShapedOreRecipe)object).getRecipeOutput().getDisplayName().equals(item.getDisplayName()))
          {
          recipes.add(object);
          System.out.println("Fond ShapedOreRecipe for: " + item.getDisplayName() + ", recipe removed for this item: " + ((ShapedOreRecipe)object).getRecipeOutput().getDisplayName());
          }
          }
          
          // ------------- En cas de ShapelessOreRecipe --------------- //
          if (object instanceof ShapelessOreRecipe)
          {
          if (((ShapelessOreRecipe)object).getRecipeOutput().getDisplayName().equals(item.getDisplayName()))
          {
          recipes.add(object);
          System.out.println("Fond ShapelessOreRecipe for: " + item.getDisplayName() + ", recipe removed for this item: " + ((ShapelessOreRecipe)object).getRecipeOutput().getDisplayName());
          }
          }
          }
          
          // ------------- En cas de Recette au fourneau --------------- //
          for (Object object : FurnaceRecipes.smelting().getSmeltingList().keySet())
          {
          ItemStack itemStack = null;
          
          if (FurnaceRecipes.smelting().getSmeltingList().get(object) instanceof ItemStack)
          {
          itemStack = (ItemStack) FurnaceRecipes.smelting().getSmeltingList().get(object);
          
          if (itemStack.getDisplayName().equals(item.getDisplayName()))
          {
          recipes.add(object);
          System.out.println("Fond FurnaceRecipe for: " + item.getDisplayName() + ", recipe removed for this item: " + itemStack.getDisplayName());
          }
          }
          }
          
          for (Object object : recipes.toArray())
          {
          if (object instanceof Integer)
          {
          FurnaceRecipes.smelting().getSmeltingList().remove(object);
          }
          else
          {
          CraftingManager.getInstance().getRecipeList().remove(object);
          }
          
          recipeFound = true;
          }
          
          if (!recipeFound)
          {
          System.out.println("No recipe found for item: " + item.getDisplayName());
          }
          
          // --------------------------------------- //
          }
          
          ```</object></object>
          1 réponse Dernière réponse Répondre Citer 0
          • Superloup10S Hors-ligne
            Superloup10 Modérateurs
            dernière édition par

            Ne fonctionne pas forcément avec les autres mods.

            Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

            Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

            1 réponse Dernière réponse Répondre Citer 0
            • MugiwaxarM Hors-ligne
              Mugiwaxar
              dernière édition par

              Hum ?
              Perso jusqu’à maintenant cette fonction n’a jamais faillit

              Les recettes des autre mods sont automatiquement enregistrer dans RecipeManager ou FurnaceRecipes, si ont les supprime, il est normal que la recette ne fonctionne plus

              1 réponse Dernière réponse Répondre Citer 0
              • jglrxavpokJ Hors-ligne
                jglrxavpok Modérateurs
                dernière édition par

                Pas forcément, certains mods utilisent différents types de recettes. (et ça me fait bien c**** pour Uncrafting Table)
                Et/ou ils les enregistrent pas comme il faut ><

                Modérateur sur MFF. 
                Mon Github: http://github.com/jglrxavpok
                Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

                1 réponse Dernière réponse Répondre Citer 0
                • MugiwaxarM Hors-ligne
                  Mugiwaxar
                  dernière édition par

                  @‘jglrxavpok’:

                  Pas forcément, certains mods utilisent différents types de recettes. (et ça me fait bien c**** pour Uncrafting Table)

                  Ma fonction capte tout type de recette, tant qu’elle est enregistrer correctement

                  @‘jglrxavpok’:

                  Et/ou ils les enregistrent pas comme il faut ><

                  Ba la il suffit d’enregistrer la même recette dans le postInit et de mêttre un objet null (ou de l’air) comme résultat 🆒

                  Après, si c’est un objet créé à part comme Uncrafting Table, c’est beaucoup plus compliqué, vu que ce mod gère ses recettes lui même

                  1 réponse Dernière réponse Répondre Citer 0
                  • jglrxavpokJ Hors-ligne
                    jglrxavpok Modérateurs
                    dernière édition par

                    Ta fonction ne marche pas avec chaque type 😉
                    Il suffit que je crée un type FTPRecipe et ça marche plus.
                    Mais là, c’est bien trop compliqué pour gérer ça correctement. (mais la plupart des mods utilisent le système de craft de MC par défaut, donc ça va :D)

                    Modérateur sur MFF. 
                    Mon Github: http://github.com/jglrxavpok
                    Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

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

                      Oui, par exemple IC2 utilise son propre système de recette pour avoir des recettes cachés invisible par NEI.

                      1 réponse Dernière réponse Répondre Citer 0
                      • MugiwaxarM Hors-ligne
                        Mugiwaxar
                        dernière édition par

                        @‘jglrxavpok’:

                        Il suffit que je crée un type FTPRecipe et ça marche plus.

                        Oaui ça c’est juste pour me contredire 😄

                        Nan plus sérieusement, j’ai pensé à tout, dans ma classe main, j’ai une fonction qui vérifie tout les type de CraftRecipeManager, et si ya un type qui n’est pas dans la fonction qui efface les recette, il me prévient gentillement, ensuite, je rajoute le type manquant

                        Infaillible ! 🆒

                        1 réponse Dernière réponse Répondre Citer 0
                        • jglrxavpokJ Hors-ligne
                          jglrxavpok Modérateurs
                          dernière édition par

                          Oui, tout ça pour te contredire. 😄

                          Modérateur sur MFF. 
                          Mon Github: http://github.com/jglrxavpok
                          Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

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

                          MINECRAFT FORGE FRANCE © 2024

                          Powered by NodeBB