• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Event OnLivingDrops

    1.7.x
    1.7.10
    3
    15
    2767
    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.
    • DragonBot
      DragonBot dernière édition par

      Salut 🙂
      Juste une petite question:
      Ajouter un drop à une entity vanilla, ok, mais comment faire pour rajouter un drop seulement si le joueur tue cette entity avec un certain item?
      Je pense qu’il faut utiliser .getHeldItem().getItem() mais je ne trouve pas quelle condition il faut rajouter à l’event pour le rajouter.
      Merci d’avance!

      1 réponse Dernière réponse Répondre Citer 0
      • P
        PlagueZ dernière édition par

        Bonjour,
        En 1.7.10 ceci fonctionne

        
        if(event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer)
        {
        EntityPlayer player = (EntityPlayer)event.source.getEntity();
        if(player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == Items.diamond_sword)
        {
        System.out.println("Fatality!!!!");
        }
        }
        

        Edit:c’est ce code pas l’ancien 😉

        “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

        1 réponse Dernière réponse Répondre Citer 0
        • DragonBot
          DragonBot dernière édition par

          Merci, mais ça n’a pas l’air de fonctionner, ou alors je m’y prend mal, j’ai essayer en mettant ceci:

          if(event.entity instanceof EntityPig)
          {
          if(event.entity instanceof EntityPlayer)
          {
          if(event.entityLiving.getHeldItem().getItem() == Items.apple)
          {
          ItemStack itemStackToDropa2 = new ItemStack(Items.apple, rand.nextInt(2) + 1);
          event.drops.add(new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ, itemStackToDropa2));
          }
          }
          }

          1 réponse Dernière réponse Répondre Citer 0
          • P
            PlagueZ dernière édition par

            essaye ca:

                if(event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer)
                {
                   EntityPlayer player = (EntityPlayer)event.source.getEntity();
                   if(player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == Items.diamond_sword && event.entity instanceof EntityPig)
                   {
                      EntityItem newdropMuttonRaw = new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ,
                new ItemStack(Items.apple, 1));
            
                event.drops.add(newdropMuttonRaw);
                   }
                }
            

            “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

            1 réponse Dernière réponse Répondre Citer 0
            • DragonBot
              DragonBot dernière édition par

              Merci ça marche!
              Mais si je veux que l’action se déclenche quand le joueur n’as pas d’item dans la main (je met == null au getItem) le jeu crash quand je tue l’entitée…

              1 réponse Dernière réponse Répondre Citer 0
              • P
                PlagueZ dernière édition par

                if(player.getCurrentEquippedItem().getItem() == null && event.entity instanceof EntityPig)

                c’est normale que ca plante on verifie si c est pas null avant

                if(player.getCurrentEquippedItem() != null)

                “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

                1 réponse Dernière réponse Répondre Citer 0
                • robin4002
                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                  Pour aucun item la bonne condition c’est player.getCurrentEquippedItem() == null.

                  1 réponse Dernière réponse Répondre Citer 0
                  • P
                    PlagueZ dernière édition par

                    ha oui désolé j’ai pas fait gaffe 😉

                    “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

                    1 réponse Dernière réponse Répondre Citer 0
                    • DragonBot
                      DragonBot dernière édition par

                      Merci, problème réglé!
                      Dernière petite question, est-ce possible de placer un bloc quand l’entité est tuée? Je sais que c’est possible de placer pour les blocs mais pour les entités, je n’ai pas trouvé

                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                        Oui.  Il faut faire un world.setBlock, c’est la même chose.

                        1 réponse Dernière réponse Répondre Citer 0
                        • P
                          PlagueZ dernière édition par

                          essaye ca:

                          
                          int x = (int) event.entity.posX;
                          int y = (int) event.entity.posY;
                          int z = (int) event.entity.posZ;
                          event.entity.worldObj.setBlock(x, y, z, Blocks.anvil);
                          

                          “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

                          1 réponse Dernière réponse Répondre Citer 0
                          • robin4002
                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                            J’utiliserai plutôt MathHelper.floor_double(event.entity.posX) au lieu de cast int.

                            1 réponse Dernière réponse Répondre Citer 0
                            • P
                              PlagueZ dernière édition par

                              @‘robin4002’:

                              J’utiliserai plutôt MathHelper.floor_double(event.entity.posX) au lieu de cast int.

                              je connaissait pas cette alternative ça change beaucoup du cast?
                              ou c est juste plus propre?

                              edit: Désoler pour le Hors sujet

                              “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

                              1 réponse Dernière réponse Répondre Citer 0
                              • robin4002
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                                cast en int = arrondir pas défaut.
                                MathHelper.floor_double = méthode de Minecraft, arrondi par défaut si la partie non entière est < .5 et par accès si ≥ .5

                                1 réponse Dernière réponse Répondre Citer 0
                                • DragonBot
                                  DragonBot dernière édition par

                                  Merci à vous deux! Je pense que je n’ai plus de questions à propos de ça alors je passe le sujet en résolu, encore merci 🙂

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

                                  MINECRAFT FORGE FRANCE © 2018

                                  Powered by NodeBB