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

Résolu Choix entre deux random

1.9.x et 1.10.x
1.9.4
3
7
1.1k
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.
  • Tituya
    Tituya dernière édition par 27 janv. 2017, 21:04

    Voila, pour mon mod, je souhaite crée un StickOfRandom ou, à chaque clique de souris un évent “random” paris ce que j’ai programmé ce produit. Je m’explique :

    package com.tuto.mod.items;
    import java.util.Random;
    import net.minecraft.entity.item.EntityItem;
    import net.minecraft.entity.item.EntityTNTPrimed;
    import net.minecraft.entity.item.EntityXPOrb;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraft.util.ActionResult;
    import net.minecraft.util.EnumActionResult;
    import net.minecraft.util.EnumHand;
    import net.minecraft.world.World;
    public class Stick extends Item
    {
        public final Random rand = new Random();
        public Stick()
        {
        this.setMaxDamage(20);
        this.maxStackSize = 1;
        }
        @Override
           public ActionResult <itemstack>onItemRightClick(ItemStack itemStack, World world, EntityPlayer player, EnumHand hand)
           {
               if (!world.isRemote) // très important a ne pas oublié : le code qui se trouve dans cette condition sera executer que coté serveur. CECI EST TRES IMPORTANT
               {
                   rand.nextInt(1);
                 **  if (rand.)**
                   {
                       EntityTNTPrimed entityTNT = new EntityTNTPrimed(world); // instance de la class de l'entité
                       entityTNT.setPosition(player.posX, player.posY, player.posZ); // je lui dit la position a la quelle elle doit spawner
                       world.spawnEntityInWorld(entityTNT); // je fait spawn l'entité
                   }
                 **  if (rand.)**
                   {
                       EntityItem entityItem = new EntityItem(world); // instance de la class de l'entité
                       entityItem.setPosition(player.posX, player.posY, player.posZ); // je lui dit la position a la quelle elle doit spawner
                       world.spawnEntityInWorld(entityItem); // je fait spawn l'entité
                   }
               }
               itemStack.damageItem(1, player);
               return new ActionResult(EnumActionResult.PASS, itemStack);
           }
    }

    Comme je pense que vous l’avez vu, je ne sais pas quoi mettre après le random, je veux qu’un choix entre deux nombre 0 et 1, lorsque 0 est choisi, le cas 1 avec la tnt est activé, mais lorsque 1 est choisi, le cas 2 avec un Item.
    Un truc du style : If (numéro random entre 0 et 1) == 0 alors ……
    Autre question, pour ma 2eme condition (spawn Item), comment on met l’Item que l’on veut ?
    Je ne sais pas si vous avez compris mais bon …
    Je vous dit de suite, je ne sais pas bien coder en java (vous devez le voir à mes scripts, si il y a plusieurs erreur merci de me le dire et me faire part par exemple d’un script tous fait 😄

    Merci de vos éventuels réponses

    Tituya</itemstack>

    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
    • robin4002
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 27 janv. 2017, 21:31

      Salut,

      if(rand.nextInt(1) == 0)
      {
          // code
      }
      else
      {
          // code
      }
      1. Utilises plutôt :
        EntityItem entityItem =new EntityItem(world, player.posX, player.posY, player.posZ, new ItemStack(ClassePrincipale.item));
        sinon ton entité item n’aura pas d’item.
      1 réponse Dernière réponse Répondre Citer 0
      • Tituya
        Tituya dernière édition par 27 janv. 2017, 21:36

        Merci, quand tu me dis ça c’est logique 😄 je test demain pour voir, mon ordi est éteint___Et si je veux rajouter d’autres random, le unluck (TNT), le médium (diamant), le rare (poudre de topaze) et le legendaire (Topaze) je fait comment, le else est deja occupe donc ?___Enfin, chaque item on la même valeur, c’est juste un random

        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
        • AymericRed
          AymericRed dernière édition par 27 janv. 2017, 21:50

          Tu fais un “int i = rand.nextInt(nb de cas possible);” et ensuite avec des if et else if, selon la valeur de i tu fais quelque chose.

          PS: Double poste interdit en - de 24h, faut éditer les messages.

          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
          • Tituya
            Tituya dernière édition par 28 janv. 2017, 10:32

            Je ne comprend pas ce que tu veux dire avec ton int, je ne sais pas où le mettre moi xD voila mon code :

            package com.tuto.mod.items;
            import java.util.Random;
            import com.tuto.mod.init.ItemsMod;
            import net.minecraft.entity.item.EntityItem;
            import net.minecraft.entity.item.EntityTNTPrimed;
            import net.minecraft.entity.item.EntityXPOrb;
            import net.minecraft.entity.player.EntityPlayer;
            import net.minecraft.item.Item;
            import net.minecraft.item.ItemStack;
            import net.minecraft.util.ActionResult;
            import net.minecraft.util.EnumActionResult;
            import net.minecraft.util.EnumHand;
            import net.minecraft.world.World;
            public class Stick extends Item
            {
                public final Random rand = new Random();
                public Stick()
                {
                this.setMaxDamage(20);
                this.maxStackSize = 1;
                }
                @Override
                   public ActionResult <itemstack>onItemRightClick(ItemStack itemStack, World world, EntityPlayer player, EnumHand hand)
                   {
                       if (!world.isRemote) // très important a ne pas oublié : le code qui se trouve dans cette condition sera executer que coté serveur. CECI EST TRES IMPORTANT
                       {
                           rand.nextInt(1);
                           if(rand.nextInt(1) == 0)
                           {
                               EntityTNTPrimed entityTNT = new EntityTNTPrimed(world); // instance de la class de l'entité
                               entityTNT.setPosition(player.posX, player.posY, player.posZ); // je lui dit la position a la quelle elle doit spawner
                               world.spawnEntityInWorld(entityTNT); // je fait spawn l'entité
                           }
                           else
                           {
                               EntityItem entityItem =new EntityItem(world, player.posX, player.posY, player.posZ, new ItemStack(ItemsMod.test));
                           }
                       }
                       itemStack.damageItem(1, player);
                       return new ActionResult(EnumActionResult.PASS, itemStack);
                   }
            }

            Je ne comprend pas, le random ne fonctionne pas, c’est toujours la TNT</itemstack>

            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
            • robin4002
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 28 janv. 2017, 10:47

              package com.tuto.mod.items;
              import java.util.Random;
              import com.tuto.mod.init.ItemsMod;
              import net.minecraft.entity.item.EntityItem;
              import net.minecraft.entity.item.EntityTNTPrimed;
              import net.minecraft.entity.item.EntityXPOrb;
              import net.minecraft.entity.player.EntityPlayer;
              import net.minecraft.item.Item;
              import net.minecraft.item.ItemStack;
              import net.minecraft.util.ActionResult;
              import net.minecraft.util.EnumActionResult;
              import net.minecraft.util.EnumHand;
              import net.minecraft.world.World;
              public class Stick extends Item
              {
                  public final Random rand = new Random();
                  public Stick()
                  {
                  this.setMaxDamage(20);
                  this.maxStackSize = 1;
                  }
                  @Override
                     public ActionResult <itemstack>onItemRightClick(ItemStack itemStack, World world, EntityPlayer player, EnumHand hand)
                     {
                         if (!world.isRemote) // très important a ne pas oublié : le code qui se trouve dans cette condition sera executer que coté serveur. CECI EST TRES IMPORTANT
                         {
                             int i = rand.nextInt(3);
                             if(i == 0)
                             {
                                 EntityTNTPrimed entityTNT = new EntityTNTPrimed(world); // instance de la class de l'entité
                                 entityTNT.setPosition(player.posX, player.posY, player.posZ); // je lui dit la position a la quelle elle doit spawner
                                 world.spawnEntityInWorld(entityTNT); // je fais spawn l'entité
                             }
                             else if(i == 1)
                             {
                                 EntityItem entityItem =new EntityItem(world, player.posX, player.posY, player.posZ, new ItemStack(ItemsMod.test));
                                 world.spawnEntityInWorld(entityItem); // je fais spawn l'entité
                             }
                             else if(i == 2)
                             {
                                  // troisième truc
                             }
                         }
                         itemStack.damageItem(1, player);
                         return new ActionResult(EnumActionResult.PASS, itemStack);
                     }
              }

              J’avais pas vu avant l’erreur sur ton random.
              rand.nextInt(x) génère un nombre entre 0 inclut et x exclut.
              Donc rand.nextInt(1) ça donne toujours 0, il faut utiliser rand.nextInt(2) pour avoir 0 ou 1.</itemstack>

              1 réponse Dernière réponse Répondre Citer 0
              • Tituya
                Tituya dernière édition par 28 janv. 2017, 10:48

                ça marche, je ferme le sujet merci de vos réponse !

                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
                • 1 / 1
                1 sur 7
                • Premier message
                  1/7
                  Dernier message
                Design by Woryk
                Contact / Mentions Légales

                MINECRAFT FORGE FRANCE © 2018

                Powered by NodeBB