MFF

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

    Créer une table de craft compatible avec JEI et NEI

    Planifier Épinglé Verrouillé Déplacé Les interfaces (GUI) et les container
    1.8.91.9.x
    90 Messages 11 Publieurs 23.4k Vues 3 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.
    • leo01418L Hors-ligne
      leo01418
      dernière édition par

      c’est à dire il na pas de func dans la classe IRecipe et pour moi les seul truc que j’ai son :

      getCraftingResult

      matches

      getRecipeSize

      plus précisément

      boolean matches(InventoryCrafting p_77569_1_, World p_77569_2_);

      ItemStack getCraftingResult(InventoryCrafting p_77572_1_);

      int getRecipeSize();

      après c’est peut être ma version de forge   😛

      Merci de ta réponse rapide 🙂

      Voila ma signature

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

        Ah bon, je pensait qu’il y aurait ça en 1.7.10, ça doit fonctionner autrement, il faut regarder le SlotCrafting de Minecraft pour voir comment est-ce qu’il fait.

        Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

        AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

        Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
        Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

          Quelques updates du tuto ont été réalisées :

          • Modification du code du Container, changement des variables craftWidth et craftHeigth de private à public et ajout de “final” aux différents variables.
          • Rédaction de la partie “Faire une table de craft qui ne pert pas ses items” terminée.

          Le bonus sur NEI arrivera quand NEI en 1.9.4 existera 🙂

          Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

          AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

          Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
          Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

            @‘AymericRed’:

            Quelques updates du tuto ont été réalisées :

            • Modification du code du Container, changement des variables craftWidth et craftHeigth de private à public et ajout de “final” aux différents variables.
            • Rédaction de la partie “Faire une table de craft qui ne pert pas ses items” terminée.

            Le bonus sur NEI arrivera quand NEI en 1.9.4 existera 🙂

            Bravo sa complète ce tutoriel très bon 🙂

            Bonne chance pour NEI 🙂

            Pour revenir à mon problème après plusieurs recherche je n’ai pas trouvé peut être que je devrais cherché dans la classe qui gère les crafts

            Merci de complété ce tutoriel  qui est déjà très bon  et de ton aide 😄

            Voila ma signature

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

              Merci du compliment ^^ Je regarderais cet aprem dans les sources 1.7 que je devrais toujours avoir, pour ton problème 🙂

              Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

              Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

              AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

              Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
              Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                Si c’est ce que je pense, avant la 1.8 c’était une autre méthode qui était utilisée : on configurait l’item qui restait depuis l’item et non depuis le craft, ça a du être modifié dans les dernières versions. Peut être qu’en retirant cette partie là ça fonctionnera (à vérifier)

                Site web contenant mes scripts : http://SCAREXgaming.github.io

                Pas de demandes de support par MP ni par skype SVP.
                Je n'accepte sur skype que l…

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

                  Alors j’ai regardé rapidement le SlotCrafting de mc 1.7.10, il faut que tu retires toutes les fonctions getRemainingItems du crafting manager et des classes de recette, puis recopies la fonction onPickupFromSlot de la classe SlotCrafting dans la classe de ton Slot.

                  Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                  AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                  Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                  Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                    @‘AymericRed’:

                    Alors j’ai regardé rapidement le SlotCrafting de mc 1.7.10, il faut que tu retires toutes les fonctions getRemainingItems du crafting manager et des classes de recette, puis recopies la fonction onPickupFromSlot de la classe SlotCrafting dans la classe de ton Slot.

                    Merci je vais faire cela :)___Donc Petite question j’enlève

                     public TutorielShapedRecipes addRecipe(ItemStack result, Object… recipeComponents)
                      {
                          String s = "";
                          int i = 0;
                          int j = 0;
                          int k = 0;
                          if (recipeComponents* instanceof String[])
                          {
                              String[] astring = (String[])((String[])recipeComponents[i++]);
                              for (int l = 0; l < astring.length; ++l)
                              {
                                  String s2 = astring[l];
                                  ++k;
                                  j = s2.length();
                                  s = s + s2;
                              }
                          }
                          else
                          {
                              while (recipeComponents* instanceof String)
                              {
                                  String s1 = (String)recipeComponents[i++];
                                  ++k;
                                  j = s1.length();
                                  s = s + s1;
                              }
                          }
                          Character character;
                          Map <character, object="">components = Maps.<character, object="">newHashMap();
                          Object in;
                          for ( ; i < recipeComponents.length; i += 2)
                          {
                           in = recipeComponents_;
                              Object component = null;
                              character = (Character)recipeComponents*;
                              if (in instanceof Item)
                              {
                                  component = new ItemStack((Item)recipeComponents_);
                              }
                              else if (in instanceof Block)
                              {
                                  component = new ItemStack((Block)recipeComponents_, 1, 32767);
                              }
                              else if (in instanceof ItemStack)
                              {
                                  component = (ItemStack)recipeComponents_;
                              }
                              else if (in instanceof String)
                              {
                               component = (String)in;
                              }
                              else
                              {
                               throw new IllegalArgumentException("Invalid shaped recipe: unknown type " + in.getClass().getName() + "!");
                              }
                              components.put(character, component);
                          }
                          Object[] aitemstack = new Object[j * k];
                          char key;
                          Object component;
                          for (int i1 = 0; i1 < j * k; ++i1)
                          {
                              key = s.charAt(i1);
                              if (components.containsKey(Character.valueOf(key)))
                              {
                               component = components.get(Character.valueOf(key));
                                  if(component instanceof ItemStack) 
                                   aitemstack[i1] = ((ItemStack)component).copy();
                                  else
                                   aitemstack[i1] = component;
                              }
                              else
                                  aitemstack[i1] = null;
                          }
                          TutorielShapedRecipes shapedrecipes = new TutorielShapedRecipes(j, k, aitemstack, result);
                          this.recipes.add(shapedrecipes);
                          return shapedrecipes;
                      }
                    
                    

                    et

                      public void addShapelessRecipe(ItemStack result, Object… recipeComponents)
                      {
                          List list = Lists.newArrayList();
                          for (Object component : recipeComponents) //Pour chaque composant de la recette
                          {
                              if (component instanceof ItemStack)
                              {
                                  list.add(((ItemStack)component).copy());
                              }
                              else if (component instanceof Item)
                              {
                                  list.add(new ItemStack((Item)component));
                              }
                              else if(component instanceof Block)
                              {
                                  list.add(new ItemStack((Block)component));
                              }
                              else if(component instanceof String) //Pour l'ore dictionnary
                              {
                               list.add(component);
                              }
                              else throw new IllegalArgumentException("Invalid shapeless recipe: unknown type " + component.getClass().getName() + "!");
                          }
                          this.recipes.add(new TutorielShapelessRecipe(result, list));
                      }
                    

                    et

                    public ItemStack[] getRemainingItems(InventoryCrafting craftMatrix, World worldIn)
                      {
                          for (IRecipe irecipe : this.recipes) //Pour chaque recette
                          {
                              if (irecipe.matches(craftMatrix, worldIn)) //Si elle correspond à la matrice actuelle
                              {
                                  return irecipe.getRemainingItems(craftMatrix); //On retourne les items restants
                              }
                          }
                          ItemStack[] aitemstack = new ItemStack[craftMatrix.getSizeInventory()];
                          for (int i = 0; i < aitemstack.length; ++i)
                          {
                              aitemstack* = craftMatrix.getStackInSlot(i);
                          }
                          return aitemstack; //Si ça ne correspond à aucune recette, on retourne tous les items qui sont présents dans la matrice
                      }
                    
                    

                    ?

                    Merci de ton aide ;)____</character,></character,>

                    Voila ma signature

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

                      J’ai enlevé c’est méthode et sa ne marche pas

                      voici mes classes
                      Container
                      http://pastebin.com/hiLFTGHV

                      BlockCraftCustom
                      http://pastebin.com/49s4j5pR

                      Slot
                      http://pastebin.com/PPY9L6kC

                      gui
                      http://pastebin.com/UPSfxNUX

                      TutorielCraftingManager
                      http://pastebin.com/ZsSRGZWZ

                      Merci de ton aide 😉

                      Voila ma signature

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

                        Non il ne faut pas enlever les fonctions d’ajout de recette, juste getRemainingItems, sinon tes classes sont bonnes (le container, le slot et le craftingmanager en tout cas), sauf ça : ```java
                        @Override
                        public boolean canInteractWith(EntityPlayer player)
                        {
                        return this.worldObj.getBlock(x, y, z) != enderdeath.AnvilDragon;
                        }

                        Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                        AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                        Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                        Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                        1 réponse Dernière réponse Répondre Citer 1
                        • leo01418L Hors-ligne
                          leo01418
                          dernière édition par

                          Bonjour AymericRed 🙂
                          Merci infiniment de ton aide 😉
                          J’ai 1 dernier problème sur une ligne
                          c’est cette ligne

                              return stack1.getItem() == stack2.getItem() && (stack1() == OreDictionary.WILDCARD_VALUE || stack1.getMetadata() == stack2.getMetadata());
                          

                          ici il me propose de crée une méthode

                          stack1() 
                          

                          et ici

                          stack1.getMetadata() == stack2.getMetadata());
                          

                          la méthode Metadata n’existe pas j’ai cherché mais je n’ai pas trouvé 😞

                          et ma question c’est comment ajouté un craft? (je sais qu’il faut faire this.addRecipe dans la classe TutorielCraftingManager) mais je sais pas comment géré cela 🙂

                          Voila ma signature

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

                            1. c’est stack1.getItemDamage.
                            2. pareil, c’est getItemDamage, je changerais le tuto pour la 1.8.9.
                            3. regarde le résultat, j’ai ajouté 3 craft, ça fonctionne comme avec le GameRegistry.addRecipe

                            Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

                            Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                            AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                            Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                            Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                              Re ^^
                              Merci de ton aide après avoir tout fait j’était tellement précipité pour la testé

                              J’arrive dans mon monde solo et la je me give la table custom et je tente de me la givé et suspect rien ne se passe 😞
                              J’ai essaye de revoir le tuto mais je ne vois pas mon érreur je pense que cela viens d’une certaine classe mais je ne sais pas la quelle

                              donc je te l’ai passe tous x)
                              block
                              http://pastebin.com/Vb4Rf3Nv

                              container
                              http://pastebin.com/4UzxzZiZ

                              slot
                              http://pastebin.com/J7LDKtRL

                              gui
                              http://pastebin.com/u4ECnZwQ

                              CraftingManager
                              http://pastebin.com/bJtDiNEj

                              TutorielShapelessRecipe
                              http://pastebin.com/RiSzNbNS

                              Merci de ton aide et merci beacuoup pour ton tuto

                              Voila ma signature

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

                                Tu veux dire que tu ne reçois pas le block ? Tu l’as bien enregistré avec le game registry ? Passe ta classe principale.
                                PS : si tu ajoutes tes recettes via le constructeur, tu n’as pass besoin du “TutorielCraftingManager.getInstance().” devant chaque addRecipe.

                                Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                                  @‘AymericRed’:

                                  Tu veux dire que tu ne reçois pas le block ? Tu l’as bien enregistré avec le game registry ? Passe ta classe principale.
                                  PS : si tu ajoutes tes recettes via le constructeur, tu n’as pass besoin du “TutorielCraftingManager.getInstance().” devant chaque addRecipe.

                                  Non au faite quand je fais clique droit dessus cela ne marche pas 😞
                                  j’ai oublié le gui halnder
                                  http://pastebin.com/t29G6Qsq

                                  et de ma classe

                                  
                                  BlockAnvilDragon = new BlockAnvilDragon();
                                  
                                  GameRegistry.registerBlock(BlockAnvilDragon, "BlockAnvilDragon");
                                  

                                  Voila ma signature

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

                                    Bizarre… mets un System.out.println dans ta fonction onBlockActivated et dans ton GuiHandler, si ce n’est pas appelé, mets un @Override au deussus de la fonction.

                                    Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                    AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                    Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                    Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                                      Merci je l’ai system.out et tu simplement quand je fais clique droit cela ne fait rien je vais regardé dans la classe de la table de craft pour voir 😉

                                      Edit:j’ai trouvé as     p_149727_5_.displayGUIWorkbench(p_149727_2_, p_149727_3_, p_149727_4_); le problème est que p_149727_5_ est  le player en gros nommé c’est sa
                                      player.displayGUIWorkbench(x, y, z);
                                      et pour le @Override je l’avais déjà mis

                                      Voila ma signature

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

                                        Oui mais cela ne va pas ouvrir ton gui. Est-ce que le println de onBlockActivated est bien appelé au moins ? Et pout le @Override, en tout cas il n’est pas sur le pastebin de ton block.

                                        Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                        AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                        Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                        Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                                          ha ok  🙂

                                          J’avais pas compris ^^ et

                                          Au faite pour le @Override je pensé que tu parlé pour le gui Handler

                                          Au final j’ai réussi à le méttre mais sa me fait un crash

                                          crash
                                          http://pastebin.com/FJAjFU2m

                                          Voila ma signature

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

                                            Tu as modifié la classe TutorielShapedRecipes (à part retirer getRemainingItems) ? Il y a un problème ligne 61, montre la classe si tu trouves pas.

                                            Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                            AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                            Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                            Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB