• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved OnItemRightClick sur une entity.

    1.7.x
    1.7.10
    8
    125
    15385
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Gabs
      Gabs last edited by

      Bonsoir j’essaye depuis ce matin a faire en sorte que quand je fais clic droit avec un item sur un joueur (Entité) une action s’exécute mais j’y arrive pas…

      CODE:

       public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer player) {
         if (lvl != 0)
           lvl2 = Math.abs(lvl / 2);
         else if (lvl == 0) {
           lvl2 = Math.abs(lvl);
         }
         this.lvlS = Integer.toString(lvl2);
         return itemstack;
       }
      

      J’ai essayé avec [size=smallEntityInteractEvent marche toujours pas .]
      [size=smallCordialement Flo.]

      1 Reply Last reply Reply Quote 0
      • BrokenSwing
        BrokenSwing Moddeurs confirmés Rédacteurs last edited by

        
        public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer player, EntityLivingBase entity)
        
        
        1 Reply Last reply Reply Quote 0
        • Gabs
          Gabs last edited by

          Je peux pas essayer voir si ton code marche bien car j’ai un problème de build je sais si le problème vient de ta ligne de code ou si je me suis tromper vous pouvez m’aider?

          1 Reply Last reply Reply Quote 0
          • BrokenSwing
            BrokenSwing Moddeurs confirmés Rédacteurs last edited by

            Ya quoi comme erreur ?

            1 Reply Last reply Reply Quote 1
            • Gabs
              Gabs last edited by

              ça marche niquel j’ai essayer avec un System.out.println(“”);
              Mais comme je le dis j’ai une erreur avec le build l’erreur est:

              ****************************
               Powered By MCP:             
               http://modcoderpack.com/    
               Searge, ProfMobius, Fesh0r, 
               R4wk, ZeuX, IngisKahn, bspkrs
               MCP Data version : unknown
              ****************************
              :compileApiJava UP-TO-DATE
              :processApiResources UP-TO-DATE
              :apiClasses UP-TO-DATE
              :sourceMainJava
              :compileJavawarning: [options] bootstrap class path not set in conjunction with -source 1.6
              Note: Some input files use or override a deprecated API.
              Note: Recompile with -Xlint:deprecation for details.
              Note: Some input files use unchecked or unsafe operations.
              Note: Recompile with -Xlint:unchecked for details.
              1 warning
              
              :processResources UP-TO-DATE
              :classes
              :jar
              :compileTestJava UP-TO-DATE
              :processTestResources UP-TO-DATE
              :testClasses UP-TO-DATE
              :test UP-TO-DATE
              :extractMcpData UP-TO-DATE
              :getVersionJson
              :extractUserDev UP-TO-DATE
              :genSrgs SKIPPED
              :reobf FAILED
              
              FAILURE: Build failed with an exception.
              
              * What went wrong:
              Execution failed for task ':reobf'.
              > MALFORMED
              
              * Try:
              Run with –stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
              
              BUILD FAILED
              
              Total time: 13.114 secs
              
              
              1 Reply Last reply Reply Quote 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                Tu as surement un accent ou autre caractère spéciaux dans le nom d’un fichier (une texture, un son). Il ne faut pas en mettre.

                1 Reply Last reply Reply Quote 1
                • Gabs
                  Gabs last edited by

                  merci 🙂 +2

                  1 Reply Last reply Reply Quote 0
                  • Gabs
                    Gabs last edited by

                    J’ai encore quelques problème en gros quand je fais clic droit sur un joueur on voit mon niveau d’alcoolémie est pas celui du joueur avec qui j’interagis .
                    Mon code:

                    Object lvlS = "Impossible d'obtenir votre niveau d'alcoolémie.";
                     public static int lvl = 0;
                     public static int lvl2 = 0;
                    
                     public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer player, EntityLivingBase entity){
                       if (lvl != 0)
                         lvl2 = Math.abs(lvl / 2);
                       else if (lvl == 0) {
                         lvl2 = Math.abs(lvl);
                       }
                       this.lvlS = Integer.toString(lvl2);
                    return stack != null;
                     }
                     public void addInformation(ItemStack item, EntityPlayer player, List list, boolean par4) {
                       list.add("Faite clic droit pour actualiser ");
                       list.add("votre niveau d'alcoolémie.");
                       list.add("Votre niveau d'alcoolémie est de:");
                       list.add(this.lvlS);
                     } 
                    
                    1 Reply Last reply Reply Quote 0
                    • BrokenSwing
                      BrokenSwing Moddeurs confirmés Rédacteurs last edited by

                      Tu peux envoyer la classe entière ?

                      1 Reply Last reply Reply Quote 0
                      • Gabs
                        Gabs last edited by

                        Ouaip tien:

                        package com.AltisMine.mod;
                        
                        import ibxm.Player;
                        
                        import java.util.List;
                        
                        import net.minecraft.client.renderer.texture.IIconRegister;
                        import net.minecraft.entity.EntityLivingBase;
                        import net.minecraft.entity.player.EntityPlayer;
                        import net.minecraft.item.Item;
                        import net.minecraft.item.ItemStack;
                        import net.minecraft.util.ChatComponentText;
                        import net.minecraft.world.World;
                        
                        public class AT extends Item
                        {
                         Object lvlS = "Impossible d'obtenir votre niveau d'alcoolémie.";
                         public static int lvl = 0;
                         public static int lvl2 = 0;
                        
                         public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer player, EntityLivingBase entity){
                           if (lvl != 0)
                             lvl2 = Math.abs(lvl / 2);
                           else if (lvl == 0) {
                             lvl2 = Math.abs(lvl);
                           }
                           this.lvlS = Integer.toString(lvl2);
                        return stack != null;
                         }
                         public void addInformation(ItemStack item, EntityPlayer player, List list, boolean par4) {
                           list.add("Faite clic droit pour actualiser ");
                           list.add("votre niveau d'alcoolémie.");
                           list.add("Votre niveau d'alcoolémie est de:");
                           list.add(this.lvlS);
                         }
                        }
                        
                        1 Reply Last reply Reply Quote 0
                        • BrokenSwing
                          BrokenSwing Moddeurs confirmés Rédacteurs last edited by

                          A quoi correspondent lvl et lvl2 ?
                          Si tu veux récupéré le taux d’alcoolémie de l’entité sur laquelle tu cliques il faut que tu passe par une ExtendedEntityPropertie et que tu la récupère en utilisant un cast de entity

                          1 Reply Last reply Reply Quote 0
                          • Gabs
                            Gabs last edited by

                            J’ai pas trop bien compris mais j’ai fais ça:

                            public boolean ExtendedEntityPropertie(ItemStack stack, EntityPlayer player, EntityLivingBase entity){
                               Entity en = (EntityLivingBase) entity;
                               if (entity instanceof EntityPlayer){
                             if (lvl != 0)
                                 lvl2 = Math.abs(lvl / 2);
                               else if (lvl == 0) {
                                 lvl2 = Math.abs(lvl);
                               }
                               this.lvlS = Integer.toString(lvl2);
                               }
                            return stack != null;
                             }
                            

                            Je suis pas sur que ça marche .

                            1 Reply Last reply Reply Quote 0
                            • BrokenSwing
                              BrokenSwing Moddeurs confirmés Rédacteurs last edited by

                              Euh … C’est pas vraiment ça non xD

                              Tout d’abord il faut que tu enregistre le taux d’alcoolémie dans une entité, le joueur dans ton cas. Tu peux le faire en suivant ce tuto : http://www.minecraftforgefrance.fr/showthread.php?tid=905

                              Ensuite il faut faire un truc qui ressemble à ça :

                              
                              public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer player, EntityLivingBase entity)
                              {
                              if(entity instanceof EntityPlayer)
                              {
                              EntityPlayer target = (EntityPlayer)entity;
                              //Et là tu récupère le taux d'alcoolémie du joueur target et tu fait tes calculs et tout
                              }
                              return true;
                              }
                              
                              
                              1 Reply Last reply Reply Quote 0
                              • Snowy_1803
                                Snowy_1803 last edited by

                                Juste, le singulier de properties c’est property, pas propertie (c’est moche à voir -_- )

                                Moddeur 1.8

                                Développeur Java

                                1 Reply Last reply Reply Quote 0
                                • Gabs
                                  Gabs last edited by

                                  Merci juste pour info je suis obliger de stocké le taux par un extended entity ?

                                  1 Reply Last reply Reply Quote 0
                                  • BrokenSwing
                                    BrokenSwing Moddeurs confirmés Rédacteurs last edited by

                                    Ça me parait être la solution la plus “propre”, sinon tu peux créer un tableau qui associera chaque joueur à un taux d’alcoolémie et qu’il faudra enregistrer et charger à chaque fois

                                    1 Reply Last reply Reply Quote 0
                                    • Gabs
                                      Gabs last edited by

                                      Si je fait rien de cela ça marchera ?

                                      1 Reply Last reply Reply Quote 0
                                      • BrokenSwing
                                        BrokenSwing Moddeurs confirmés Rédacteurs last edited by

                                        Bah comment comptes-tu sauvegarder le taux d’alcoolémie de chaque joueur ? Tu ne peux certainement pas le faire dans l’item comme tu l’avais fait au début car ce serait le même pour chaque joueur (plus précisément pour chaque item)

                                        1 Reply Last reply Reply Quote 0
                                        • Gabs
                                          Gabs last edited by

                                          Yep effectivement j’ai essayé avec un pote lui a un niveau de 3 après avoir bu 3 boissons et quand je fais clic droit sur lui ça m’indique 0 et lui quand il fait clic droit sur moi ça lui indique 3 et quand il me passe l’item y’a marquer 0 enfin bref je suis obliger de faire comme tu mas indiqué merci à toi 🙂
                                          +2

                                          1 Reply Last reply Reply Quote 0
                                          • Gabs
                                            Gabs last edited by

                                            Wow par contre j’ai rien compris… si demain tu pourras m’aider pour le tuto se serrai super .

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 7
                                            • 1 / 7
                                            • First post
                                              Last post
                                            Design by Woryk
                                            Contact / Mentions Légales

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB