MFF

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

    Une question sur un event

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    28 Messages 5 Publieurs 5.0k 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.
    • SCAREXS Hors-ligne
      SCAREX
      dernière édition par

      Alors quel est le problème avec le premier event ?

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

        @‘SCAREX’:

        Alors quel est le problème avec le premier event ?

        il ne vérifie pas quand il tape un mob ou un joueur en faite je pense que je vais plustôt vérifier via l’inventoryTick

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

          Si tu ne veux pas qu’un joueur puisse ramasser une certaine arme tu as l’event ItemPickupEvent :

          
          @SubscribeEvent
          public void onPlayerPickupItem(ItemPickupEvent event) {
          
          }
          
          

          Et pour éviter qu’il puisse attaquer avec tu as LivingAttackEvent :

          
          @SubscribeEvent
          public void onLivingAttack(LivingAttackEvent event) {
          
          }
          
          
          1 réponse Dernière réponse Répondre Citer 0
          • Y Hors-ligne
            yveslefou
            dernière édition par

            @‘BrokenSwing’:

            Si tu ne veux pas qu’un joueur puisse ramasser une certaine arme tu as l’event ItemPickupEvent :

            
            @SubscribeEvent
            public void onPlayerPickupItem(ItemPickupEvent event) {
            
            }
            
            

            Le probléme est qu’ils peuvent aussi les crafter voir les acheter à des pnjs

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

              et surtout je me demande pourquoi il y a pas de onItemLeftClic

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

                Tu as LeftClickBlock et Attack, ça suffit, je sais pas si t’avais vu mon edit sur mon message précédent ?

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

                  Pour tout ce qui est entité c’est soit LivingAttackEvent pour le clique gauche, EntityInteractEvent pour le clique droit. Mais pourquoi ne pas faire ça dans la classe de ton item directement ?

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

                    @‘BrokenSwing’:

                    Tu as LeftClickBlock et Attack, ça suffit, je sais pas si t’avais vu mon edit sur mon message précédent ?

                    Ah non mais je vais peut être utiliser cela alors ^^

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

                      @‘SCAREX’:

                      Pour tout ce qui est entité c’est soit LivingAttackEvent pour le clique gauche, EntityInteractEvent pour le clique droit. Mais pourquoi ne pas faire ça dans la classe de ton item directement ?

                      il y a un tuto pour le faire via une classe appart mais pour le mettre directement dans la classe de l"item ?

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

                        @‘SCAREX’:

                        Pour tout ce qui est entité c’est soit LivingAttackEvent pour le clique gauche, EntityInteractEvent pour le clique droit. Mais pourquoi ne pas faire ça dans la classe de ton item directement ?

                        euh j’ais vue le tuto pour déclarer un event minecraft dans une classe mais pas pour quand il est dans la classe d’un item, il y a un tuto pour cela ?

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

                          Euh… Un event peut être mis dans n’importe quelle classe enregistrée, mais ce que je veux dire c’est que pour faire ce que tu veux tu peux aussi passer par les fonctions présentes dans la classe de ton item sans avoir besoin d’utiliser des event

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

                            @‘SCAREX’:

                            Euh… Un event peut être mis dans n’importe quelle classe enregistrée, mais ce que je veux dire c’est que pour faire ce que tu veux tu peux aussi passer par les fonctions présentes dans la classe de ton item sans avoir besoin d’utiliser des event

                            comment ca , je comprend pas trop ce tu veux dire ?

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

                              Si tu as accès à l’item que tu veux tracker, tu n’as pas besoin d’events le plus souvent

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

                                @‘SCAREX’:

                                Si tu as accès à l’item que tu veux tracker, tu n’as pas besoin d’events le plus souvent

                                Ben la si je ne vois pas d’autre solutions que de véfier à chaque fois qu’il attaque ou fais un clic droit s’il peut utiliser cette item donc via un event

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

                                  Un truc m’échappe… Tu veux que si le joueurs utilise l’arme, mais qu’il n’as pas l’autorisation, une action X à lieu…

                                  Hors, tes armes sont toutes custom non ? Alors pourquoi te faire chier avec les évents ?
                                  Tu créer une bête fonction qui vérifie si le joueurs à l’autorisation d’utilisé l’arme, ou non (un fonction public static boolean check(Entity e, ItemStack i) )
                                  Puis tu rajoute une bête condition if(check(entity, itemStack) sur toute les fonctions de l’armes qui ont un rapport avec l’utilisation (onRightClick, onUse, etc…)

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

                                    @‘Jodge’:

                                    Un truc m’échappe… Tu veux que si le joueurs utilise l’arme, mais qu’il n’as pas l’autorisation, une action X à lieu…

                                    Hors, tes armes sont toutes custom non ? Alors pourquoi te faire chier avec les évents ?
                                    Tu créer une bête fonction qui vérifie si le joueurs à l’autorisation d’utilisé l’arme, ou non (un fonction public static boolean check(Entity e, ItemStack i) )
                                    Puis tu rajoute une bête condition if(check(entity, itemStack) sur toute les fonctions de l’armes qui ont un rapport avec l’utilisation (onRightClick, onUse, etc…)

                                    Le soucie c’est que je sais utiliser quand il fais un clic droit mais pas un clic gauche ou autre, je connais pas onUse que tu vient de citer mais je voudrais quel que chose comme onrightclic mais sois aussi pour le clic gauche ou quand il a l’arme en main.

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

                                      Vas sur la classe Item, tu a plein de fonction. Cherche celle en rapport avec onItemUse, onItemStartUse (me souvient plus des nom exacte) mais tu as 3 ou 4 fonctions différentes lever à différent stade lors de l’appuie sur un clic gauche. La fonction OnItemLeftClick n’est disponible qu’as partir de la 1.10, en deça, il faut improvisé avec les méthode appeler.

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

                                        @‘Jodge’:

                                        Vas sur la classe Item, tu a plein de fonction. Cherche celle en rapport avec onItemUse, onItemStartUse (me souvient plus des nom exacte) mais tu as 3 ou 4 fonctions différentes lever à différent stade lors de l’appuie sur un clic gauche. La fonction OnItemLeftClick n’est disponible qu’as partir de la 1.10, en deça, il faut improvisé avec les méthode appeler.

                                        Ah merci j’ais trouvé deux fonctions qui me vont à merveille sauf que j’ais deux soucis que je comprends pas. Le code :

                                        public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) {
                                        if(stack != null){
                                        if (player!=null){
                                        Fo props = Fo.get(player);
                                        if (props.Check(force)){
                                        player.addChatMessage(new ChatComponentText("force"));
                                        }
                                        else {player.addChatMessage(new ChatComponentText("force insuffisant"));}}}
                                        return null != null;
                                        
                                        }
                                        
                                        public ItemStack onItemRightClick(ItemStack Stack,World world,EntityPlayer player){
                                        if (!world.isRemote){ 
                                        Fo props = Fo.get(player);
                                        if (props.Check(force)){
                                        player.addChatMessage(new ChatComponentText("force"));
                                        }
                                        else {player.addChatMessage(new ChatComponentText("force insuffisant"));}}
                                        return super.onItemRightClick(Stack,world,player);
                                        
                                        }
                                        
                                            public boolean onBlockStartBreak(ItemStack itemstack, int X, int Y, int Z, EntityPlayer player){
                                            if(itemstack!=null){
                                            if (player!=null){
                                        Fo props = Fo.get(player);
                                        if (props.Check(force)){
                                        player.addChatMessage(new ChatComponentText("force"));
                                        }
                                        else {player.addChatMessage(new ChatComponentText("force insuffisant"));}}}
                                                return true;
                                            }
                                        

                                        le clic droit marche trés bien(envoie “force”), mais les deux autres récupérer sur la classe item pas trop.
                                        Le props.check envoie true normalement enfin le fais via le clic droit. Pour la fonction qui casse un bloc cela envoie juste force insuffisant et celle pour les entité envoie ‘force insuffisant’ puis ‘force’ et je ne comprend pas pourquoi.

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

                                          Normal. Si tu fais un System.ou.println, je pense que tu verrai deux fois le message, venu du client et du serveur.
                                          Sur onItemRightclick, tu fait un “if (!world.isRemote)”. sur tes autres fonction, tu dois faire la même chose, seulement pour obtenir la variable, il faut passer par l’entité :

                                          public boolean check(ItemStack stack, EntityPlayer player, World world)
                                          {
                                          if (!world.isRemote)
                                          {
                                          Fo props = Fo.get(player);
                                          if (props.Check(force))
                                          {
                                          System.out.println("Force");
                                          player.addChatMessage(new ChatComponentText("Force"));
                                          return true;
                                          }
                                          else
                                          {
                                          System.out.println("Force insuffisant");
                                          player.addChatMessage(new ChatComponentText("Force insuffisant"));
                                          return false;
                                          }
                                          }
                                          }
                                          
                                          public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity)
                                          {
                                          return check(stack, player, player.worldObj) && super.onLeftClickEntity(stack, player, entity);
                                          }
                                          
                                          public ItemStack onItemRightClick(ItemStack Stack, World world,EntityPlayer player)
                                          {
                                          return check(stack, player, world) && super.onItemRightClick(Stack,world,player);
                                          }
                                          
                                          public boolean onBlockStartBreak(ItemStack itemstack, int X, int Y, int Z, EntityPlayer player)
                                          {
                                          return check(itemstack, player, player.worldObj) && super.onBlockStartBreak(itemstack, X, Y, Z, player);
                                          }
                                          
                                          1 réponse Dernière réponse Répondre Citer 1
                                          • Y Hors-ligne
                                            yveslefou
                                            dernière édition par

                                            @‘Jodge’:

                                            Normal. Si tu fais un System.ou.println, je pense que tu verrai deux fois le message, venu du client et du serveur.
                                            Sur onItemRightclick, tu fait un “if (!world.isRemote)”. sur tes autres fonction, tu dois faire la même chose, seulement pour obtenir la variable, il faut passer par l’entité :

                                               public boolean check(ItemStack stack, EntityPlayer player, World world)
                                               {
                                                if (!world.isRemote)
                                                {
                                                Fo props = Fo.get(player);
                                                if (props.Check(force))
                                                {
                                                System.out.println("Force");
                                                player.addChatMessage(new ChatComponentText("Force"));
                                                return true;
                                                }
                                                else
                                                {
                                                System.out.println("Force insuffisant");
                                                player.addChatMessage(new ChatComponentText("Force insuffisant"));
                                                return false;
                                                }
                                                }
                                               }
                                               
                                               public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity)
                                               {
                                                return check(stack, player, player.worldObj) && super.onLeftClickEntity(stack, player, entity);
                                               }
                                            
                                               public ItemStack onItemRightClick(ItemStack Stack, World world,EntityPlayer player)
                                               {
                                                return check(stack, player, world) && super.onItemRightClick(Stack,world,player);
                                               }
                                            
                                               public boolean onBlockStartBreak(ItemStack itemstack, int X, int Y, int Z, EntityPlayer player)
                                               {
                                                return check(itemstack, player, player.worldObj) && super.onBlockStartBreak(itemstack, X, Y, Z, player);
                                               }
                                            

                                            merci mon probléme est résolue grace à toi

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB