MFF

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

    Drop random et mort par joueur

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    11 Messages 3 Publieurs 1.5k Vues 1 Abonné
    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.
    • TituyaT Hors-ligne
      Tituya
      dernière édition par

      Je sais comment rajouter un drop pour un mob en 1.9, je te donne le code après, juste une question PORQUOI CONTINUER DE CODER EN 1.7.10 ?!

      Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

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

        car la 1.7.10 est la version sur la qu’elle j’ai commencé le jeu et donc que je l’affectionne tous particulièrement, de plus je trouve les nouvelles versions un peu inutiles bien que je suis contient que les API forge etc s’améliore avec mais le vanilla : sérieux des lamas, des ours polaires ? et je ne supporte pas le pvp 1.9.

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

          Donc, je ne sais pas si le code fonctionne en 1.7.10, personnellement je l’ai fait en 1.9 sur des creeper pour faire spawner quelque fois l’item

          Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

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

            et tu as utilisé le même code que moi ou un autre ?

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

              J’en utilise un autre, je pense, le temps d’ouvrir eclipse pour moi. xD voila le code que j’utilise :

              public class Drop
              {
              
                  public final Random rand = new Random();
                   @SubscribeEvent
                      public void onLivingDrops(LivingDropsEvent event)
                      {
                       if(event.getEntity() instanceof EntityCreeper)
                       {
                          EntityItem newdrop = new EntityItem(event.getEntity().worldObj, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ,
              new ItemStack(ItemsMod.dust, rand.nextInt(2), 0)); // 2 = le max de drop
                          event.getDrops().add(newdrop);
                       }
                       if(event.getEntity() instanceof EntityDragon)
                       {
                          EntityItem newdrop = new EntityItem(event.getEntity().worldObj, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ,
              new ItemStack(ItemsMod.sup, rand.nextInt(10), 0));
                          event.getDrops().add(newdrop);
                       }
                      }
              }
              

              J’ai crée une nouvelle classe dans le package de ton mod

              Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

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

                Le code que tu ma envoyer fonctionne en 1.7.10 sous cette forme :

                public final Random rand = new Random();
                @SubscribeEvent
                  public void onLivingDrops(LivingDropsEvent event)
                  {
                        if(event.entity instanceof EntitySquid)
                        {
                           EntityItem newdrop = new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ,
                new ItemStack(ewifaction.mobsoul, rand.nextInt(1), 0));
                           event.drops.add(newdrop);
                        }
                

                le problème est que la il a 50% de chance 1 et 50% de chance de drop 0 mais se qu’il ai par exemple 5% de drop 1 et 95% de drop 1

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

                  peu etre que le 0 derrière signifie quelque chose, mais je ne sais pas quoi désoler ;c

                  Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

                  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

                    Le deuxième argument d’item stack c’est la quantité.
                    Généré des item stack de quantité 0 c’est pas vraiment une bonne idée …

                      @SubscribeEvent
                     public void onLivingDrops(LivingDropsEvent event)
                     {
                           if(event.entity instanceof EntitySquid && event.source.getEntity instanceof EntityPlayer)
                           {
                              EntityItem newdrop = new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ,
                    new ItemStack(ewifaction.mobsoul));
                              if(event.entity.worldObj.rand.nextFloat() < 0.95F) // 95% de chance
                              {
                                   event.drops.add(newdrop);
                              }
                           }
                    }
                    
                    1 réponse Dernière réponse Répondre Citer 0
                    • T Hors-ligne
                      thecraft38
                      dernière édition par

                      Oui j’ai réussi a aboutir a se code qui fonctionne : ```java
                       @SubscribeEvent
                        public void onLivingDrops(LivingDropsEvent event)
                        {
                      Random rand = new Random();
                              if(event.entity instanceof EntitySquid)
                              {
                              int randInt = rand.nextInt(20);
                              if(randInt == 19)
                              {
                              EntityItem newdrop = new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY,
                            event.entity.posZ,
                          new ItemStack(ewifaction.ewilitemachine, 1));
                        event.drops.add(newdrop);
                              }
                              else
                              {
                              EntityItem newdrop = new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY,
                            event.entity.posZ,
                          new ItemStack(ewifaction.SquidFood, 1));
                        event.drops.add(newdrop);
                              }
                              }

                      il me manque juste la méthode pour savoir check si le mob a était tué par un joueur :
                      ```java
                      if(randInt == 19 && ) // après le && sa ira mais je ne vois pas quoi mettre
                      
                      1 réponse Dernière réponse Répondre Citer 0
                      • T Hors-ligne
                        thecraft38
                        dernière édition par

                        Merci j’ai fait ça  : ```java
                        @SubscribeEvent
                        public void onLivingDrops(LivingDropsEvent event)
                        {
                              if(event.entity instanceof EntityZombie || event.entity instanceof EntitySkeleton || event.entity instanceof EntitySpider || event.entity instanceof EntityCreeper || event.entity instanceof EntityCaveSpider  && event.source.getEntity() instanceof EntityPlayer)
                              {
                                 EntityItem newdrop = new EntityItem(event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ,
                        new ItemStack(ewifaction.sool));
                                 if(event.entity.worldObj.rand.nextFloat() < 0.05F)
                                 {
                                      event.drops.add(newdrop);
                                 }
                              }

                        et tous fonctionne bon jeu a vous et encore merci de votre aide
                        1 réponse Dernière réponse Répondre Citer 0
                        • 1 / 1
                        • Premier message
                          Dernier message
                        Design by Woryk
                        ContactMentions Légales

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB