MFF

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

    Un item mangeable !

    Planifier Épinglé Verrouillé Déplacé Les items
    1.7.x
    51 Messages 15 Publieurs 15.2k 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.
    • DeletedD Hors-ligne
      Deleted
      dernière édition par

      Bah après c’est sûr que si on ne connaît pas le Java en + de ne pas savoir traduire la simple petite phrase d’erreur en anglais, tu ne t’en sortiras jamais pour ton mod 😕
      En gros tes variables meatEpanterias et dinomeat ne sont pas définies.

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

        C’est à dire? Je dois les définir comment? Je te rappelle que je suis nouveau ^^'. Je sais pas tout. Parce que mes deux variables sont déjà définies pour une chose, mais je fais comment pour les définir en combustible et en résultat de combustible?…
        Et le java j’apprends mais ça met du temps. Quand tu as commencé tu devais pas aller loin toi non plus. Il y a une semaine je ne savais rien du tout…

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

          Pas définies dans la classe Items, il faut que tu changes “Items” par la classe où tu les as définis

          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
          • conquerorguepardC Hors-ligne
            conquerorguepard
            dernière édition par

            GameRegistry.addSmelting(ItemFood.meatEpanterias, new ItemStack(ItemFood.dinomeat), 0.1f);

            ça ne change rien j’ai toujours les mêmes erreurs :/…

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

              As-tu importé ta classe ItemFood, et les variables sont-elles vraiment dedans avec la même orthographe ?

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

                Tout y est:

                package organisation;
                
                import fr.minecraftforgefrance.modzoic.common.Modzoic;
                
                import net.minecraft.client.Minecraft;
                import net.minecraft.client.resources.model.ModelResourceLocation;
                import net.minecraft.creativetab.CreativeTabs;
                import net.minecraft.item.Item;
                import net.minecraft.item.ItemFood;
                import net.minecraft.item.ItemStack;
                import net.minecraftforge.fml.common.registry.GameRegistry;
                
                public class dinomeat extends ItemFood
                
                {
                    public dinomeat(int gigot, float saturation, boolean wolf)
                    {
                        super(gigot, saturation, wolf);
                        // TODO Auto-generated constructor stub
                    this.setUnlocalizedName("dinomeat");
                    this.maxStackSize = 64;
                    }
                
                    public static Item dinomeat, meatzoic;
                
                    public static void init()
                    {
                        dinomeat = new dinomeat(18, 0.8F, false).setUnlocalizedName("dinomeat").setCreativeTab(CreativeTabs.tabFood);
                        meatzoic = new meatzoic(10, 0.5F, true).setUnlocalizedName("meatzoic").setCreativeTab(CreativeTabs.tabFood);
                    }
                
                    public static void register()
                    {
                        GameRegistry.registerItem(dinomeat, "dinomeat");
                        GameRegistry.registerItem(meatzoic, "meatzoic");
                
                    }
                
                    public static void registerRenders()
                    {
                
                    }
                
                    public static void registerRender()
                    {
                       Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(dinomeat, 0, new ModelResourceLocation("modzoic" + ":dinomeat", "inventory"));
                       Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(meatzoic, 0, new ModelResourceLocation("modzoic" + ":meatzoic", "inventory"));
                       GameRegistry.addSmelting(ItemFood.meatEpanterias, new ItemStack(ItemFood.dinomeat), 0.1f);
                    }
                }
                

                et pareil dans les autres classes. Tout marche bien sauf cette ligne depuis que je l’ai mise. Et les deux items sont comestibles en jeu et tout.

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

                  Tu as été le trouver où le ItemFood, c’est une classe vanilla, ça m’étonnerait que tu y trouve les déclarations de tes items. Et aussi, si tu mets cette ligne dans ta fonction de rendu (uniquement client) ça va pas marcher…

                  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
                  • conquerorguepardC Hors-ligne
                    conquerorguepard
                    dernière édition par

                    Tu as été le trouver où le ItemFood, c’est une classe vanilla, ça m’étonnerait que tu y trouve les déclarations de tes items. –> je comprends pas grand chose à ce que tu viens de me dire. De quoi ça t’étonnerais que j’y trouve les déclarations de mes items?
                    Et aussi, si tu mets cette ligne dans ta fonction de rendu (uniquement client) ça va pas marcher…  --> c’est à dire? Pas compris non plus. Je suis encore tout nouveau je débute, donc je fais comme je peux et je comprends pas tout. Mais je m’améliore rapidement.
                    Sinon j’avais mis ça dans public static void register() mais je l’ai r’enlevé en voyant que ça marchait pas et j’ai oublié de le remettre pour le c/c:

                    GameRegistry.addSmelting(Items.meatEpanterias, new ItemStack(Items.dinomeat), 0.1f);

                    Personne pour m’aider :/? Je suis vraiment coincé! J’aimerai juste au moins savoir si c’est la bonne commande!

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

                      Il faut que tu remplaces le “Items” par la classe où tu as “public static Item meatEpanterias;” (dans ce cas présent, Modzoic).
                      Et ce que je voulais dire c’est que si tu met ça avec le rendu, ça ne sera pas lu pas le serveur de Minecraft (donc la recette ne marchera 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
                      • conquerorguepardC Hors-ligne
                        conquerorguepard
                        dernière édition par

                        Et ce que je voulais dire c’est que si tu met ça avec le rendu, ça ne sera pas lu pas le serveur de Minecraft (donc la recette ne marchera pas) –> du coup je le mets où?
                        Et GameRegistry.addSmelting(Modzoic.meatEpanterias, new ItemStack(dinomeat.dinomeat), 0.1f); bug sur le mot souligné et a prit le mot précédent pour l’item alors que c’est la classe :/.
                        Merci sinon de m’aider 🙂

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

                          Du coup tu le mets dans ta fonction register, tout simplement ^^
                          Si tu utilise quelque chose dans la même classe que celle où il est déclaré, tu n’as pas besoin de mettre le nom de la classe, donc dinomeat.dinomeat devient dinomeat

                          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
                          • conquerorguepardC Hors-ligne
                            conquerorguepard
                            dernière édition par

                            public static void register()
                               {
                                   GameRegistry.registerItem(dinomeat, “dinomeat”);
                                   GameRegistry.registerItem(meatzoic, “meatzoic”);
                                   GameRegistry.addSmelting(Modzoic.meatEpanterias, new ItemStack(dinomeat), 0.1f);
                               }

                            là c’est tout bon :)?
                            Perso sur le jeu ça marche, je cherche surtout à savoir si ça restera quand je mettrais le mod en public 🙂

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

                              Oui là tout est bon. Mais après je te conseille d’utiliser la manière du tuto pour enregistrer tes items, tu te mélangeras moins ^^

                              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
                              • BoSRaptoRB Hors-ligne
                                BoSRaptoR
                                dernière édition par

                                Bonjour,

                                J’ai créé un itemFood à l’aide des metadatas, j’ai donc douze objets sur une seule ID. 
                                Mes douze items sont bien sur mon serveur et je peux les manger sans soucis.

                                J’ai juste un problème avec les metadatas : je souhaite donc avoir les arguments de la méthode** ([font=monospacefaimCombl][font=monospaceé][font=monospacee][font=monospace,] [font=monospaceSaturation][font=monospace,] **[font=monospaceNourritureDesLoups) différents pour chaque metadatas de cet item : ]

                                [color=#000000Fruits ]= new Fruits(faimComblée, Saturation, NourritureDesLoups).setUnlocalizedName(“fruit”)

                                [color=#666600J’ai une classe “Fruit” avec les codes pour les metadatas et j’aimerai faire quelque chose dans le genre : ]

                                [color=#666600Pour mon item: avec metadata  alors, je donne faimCombl]ée = 4, [color=#000000Saturation = 4, NourritureDesLoups = false; ensuite]
                                pour mon item: avec metadata 2  alors, je donne [color=#000000faimCombl]ée = 6, [color=#000000Saturation = 3, NourritureDesLoups = true; etc… etc … etc …]
                                [color=#000000pour m]on item: avec metadata 3 alors, je donne [color=#000000faimCombl]ée = 6, [color=#000000Saturation = 3, NourritureDesLoups = true;]

                                Si besoin je peux vous donner mes classes.
                                Je suis novice sur Java, mais j’ai déjà utilisé d’autres langages.

                                Merci, pour l’aide.  😄

                                **Admin du serveur : SensoR en construction. **
                                sensor.forumactif.com

                                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

                                  Salut,
                                  Pour la nourriture pour les loups ça ne va pas être possible comme la méthode isWolfsFavoriteMeat() n’a ni le metadata ni l’item stack en argument.
                                  Donc il te faut au moins deux classes.

                                  Pour la fin et la saturation il y a ces deux fonctions dans la classe ItemFood :

                                     public int func_150905_g(ItemStack stack)
                                     {
                                         return this.healAmount;
                                     }
                                  
                                     public float func_150906_h(ItemStack stack)
                                     {
                                         return this.saturationModifier;
                                     }
                                  

                                  Donc tu as juste à les outrepasser dans ta classe en changeant la valeur en fonction du metadata :

                                     public int func_150905_g(ItemStack stack)
                                     {
                                         switch(stack.getItemDamage())
                                         {
                                             case 0:
                                                 return 4;
                                             case 1:
                                                 return 6; // etc
                                             default :
                                                 return 0;
                                         }
                                     }
                                  
                                     public float func_150906_h(ItemStack stack)
                                     {
                                         switch(stack.getItemDamage())
                                         {
                                             case 0:
                                                 return 4;
                                             case 1:
                                                 return 3; // etc
                                             default :
                                                 return 0;
                                         }
                                     }
                                  
                                  1 réponse Dernière réponse Répondre Citer 0
                                  • BoSRaptoRB Hors-ligne
                                    BoSRaptoR
                                    dernière édition par

                                    @‘robin4002’:

                                    Salut,
                                    Pour la nourriture pour les loups ça ne va pas être possible comme la méthode isWolfsFavoriteMeat() n’a ni le metadata ni l’item stack en argument.
                                    Donc il te faut au moins deux classes.

                                    Pour la fin et la saturation ….

                                    Merci pour cette réponse très rapide. Je l’ai testé hier soir elle marche très bien pour moi.
                                    j’espère que ma question et ta réponse sera utile si quelqu’un a le même problème que moi

                                    Encore merci.

                                    **Admin du serveur : SensoR en construction. **
                                    sensor.forumactif.com

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

                                      Sinon via l’event EntityInteractEvent, il peut également check le metadata, donc faire en sorte de n’utiliser qu’une seule classe.

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

                                        Bien le bonjour,

                                        J’ai créer dans mon petit mod une salade de légume mais le problème c’est qu’il faut un bol pour le crafter, et quand on le mange, le bol DISPARAÎT A TOUT JAMAIS dans le pitit estomac du joueur -_-'…
                                        Alors j’aimeras savoir : Est-il possible de faire en sorte que quand mange la délicieuse salade, le bol reviens dans la barre d’inventaire du joueur ?

                                        Voilà…

                                        J’espère recevoir une réponse rapidement…

                                        Au revoir :-3

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

                                          Salut, tu peux t’inspirer du code contenu dans la délicieuse classe ItemSoup !

                                          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

                                            this.setItemContainer(Items.bowl); dans le constructeur de ton bloc.

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB