BUG NEI (Not Enough Items) IRecipe



  • Bonjour.
    J'ai créer un mod et j'ai conçue ma propre class pour enregistrée mes recettes.
    Mes recettes fonction bien il n'y à pas de bug seulement Not Enough Items ne trouve pas mes recettes enregistrée avec mas class

    Infos : je code sous forgeSrc-1.7.10-10.13.2.1291
    mcp{9.05} [Minecraft Coder Pack]
    FML{7.10.85.1291} [Forge Mod Loader]
    Forge{10.13.2.1291} [Minecraft Forge]
    CodeChickenCore{1.0.4.35} [CodeChicken Core]
    NotEnoughItems{1.0.3.78} [Not Enough Items]


  • Administrateurs

    Non, c'est normal. NEI ne détecte pas les recettes venant des IRecipe.
    Il faut les ajouter manuellement dans NEI via son api, par contre je n'ai aucune idée de comment faire.



  • J'ai trouver cette vidéo sur youtube 1.7.2 je vais tentez ci j'y arrive je pou rais peut-être postez un tuto en français.

    Youtube Video



  • J'ai fait quelque recherche sur Not Enough Items mais j’ai un problème comment interagir avec un autre mod.

    Je voudrais ne pas maitre de dépendance à mon mod
    Juste exécutez de nouvelle instruction si NEI est détecter.
    mais je n'ai pas sue trouvez comment faire.

    Je n’ai pas trouvez comment faire des dépendance de mod non plus

    j'ai trouvez une vidéo montrant comment installez les source NEI
    Youtube Video


  • Administrateurs

    Dans la classe principale de ton mod :

    if(Loader.isModLoaded("modid de nei, c'est juste NEI je crois")
    {
        NeiIntegration.load();
    }
    

    Ensuite tu créés une classe nommé NeiIntegration dans laquelle tu ajoutes une fonction load. Dans ta fonction load mets ton code en rapport avec NEI.
    Si NEI n'est pas installé il ne va pas charger cette classe donc aucun risque de crash.
    Si NEI est installé il va charger la classe et donc le code qui se trouve dans la fonction load.



  • robin4002 je n'ai toujours pas abandonnez de faire marcher NEI pour mes craft je touche aux but !
    Pour que NEI détecte le plugin il faut

    package com.gmail.wizardicetea.mod.niewit;
    
    import codechicken.nei.*;
    import codechicken.nei.api.IConfigureNEI;
    import cpw.mods.fml.common.Loader;
    
    public class PLUGIN_NEI {
    
       public static boolean load()
       {
        IConfigureNEI pluginiconfig = new mod_iConfig();
        pluginiconfig.loadConfig();
           return NEIModContainer.plugins.add(pluginiconfig);
       }
    }
    

    La class mod_iConfig implements IConfigureNEI

    La class RecipeInfo méthode load peut donner une idée de comment permettre NEI de lire les recette.

    j’oubliai NEI vois mes recette mais pas bien et ne fais pas tout les connexion .

    Ça  doit venir de loadCraftingRecipes de class ShapedRecipesWIT_Handler extends TemplateRecipeHandler



  • Tu ne respectes pas la convention java donc ton code est illisible.

    Il faut d'abord vérifier que NEI est chargé : Loader.isModLoaded("nei")



  • c'est quoi la class ShapedOreRecipe ? sa sert pour quelles recettes ?
    On vois des ligne dédier à cette class dans ShapedRecipeHandler mais pas de class ShapedOreRecipeHandler

    ShapedRecipeHandler  gère donc plusieurs recettes ? ShapedRecipe et ShapedOreRecipe



  • ShapedOreRecipe est pour les recettes de l'oreDictionary



  • @'SCAREX':

    Tu ne respectes pas la convention java donc ton code est illisible.

    Il faut d'abord vérifier que NEI est chargé : Loader.isModLoaded("nei")

    bon tu n'indic pas le convention non respecter  , je ne met pas le vrais code que j’utilise Loader.isModLoaded est mis ailleurs



  • public class PLUGIN_NEI { // Les noms de classe commencent par une majuscule et prennent une majuscule à chaque changement de mot : VoiciUnNomDeClasseValide
    
      public static boolean load()
      {
          IConfigureNEI pluginiconfig = new mod_iConfig(); // même chose qu'au-dessus
          pluginiconfig.loadConfig();
          return NEIModContainer.plugins.add(pluginiconfig);
      }
    }
    

    EDIT :
    je me suis penché sur la question : il s'avère que tu n'as pas à ajouter toi-même la classe dans la liste, tu dois juste avoir une classe qui commence par "NEI" et finit par "Config" et implements IConfigureNEI, ensuite le ClassDiscoverer créera une instance et chargera la méthode ce qui évite de regarder si NEI est chargé. Malheureusement je n'ai pas réussi à le faire marcher (du moins en debug).



  • @'SCAREX':

    ShapedOreRecipe est pour les recettes de l'oreDictionary

    pour répétez c'est quoi ? oreDictionary ou ShapedOreRecipe sa concerne quoi comme craft. Si je puis me permettre oreDictionary ce n'est pas parlent.

    Pour le chargement du plugin j’avais compris la même chose ce n'est pas ca qui me pose problème .

    Bon problème an partie j'avais oublier une méthode j'ais un bug inexplicable mais je devrais m'en sortir mon plugin fonctionne avec 1 bug mineur.