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

    Texture random sur un mob (Simple)

    Les entités
    3
    5
    3226
    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.
    • Ama
      Ama dernière édition par robin4002

      Sommaire

      • Introduction
      • Pré-requis
      • Code
        • Entity.java de notre mob
        • Render.java de notre mob
      • Résultat
      • Bonus
      • Crédits

      Introduction

      Dans ce tutoriel qui est plus une astuce qu’un bon gros tutoriel de 6 pages, on va voir comment faire un random de textures sur nos entités…

      Pré-requis

      Avoir au minimum un mob simple de créer, comment faire ? Allez voir le tutoriel de elias54 disponible ICI

      Code

      Entity.java de notre mob:

      Voici le bout de classe que sera modifié:

      public class EntityAstuceTextureRandom extends EntityMob
      {    
          public EntityAstuceTextureRandom(World par1World)
          {
              super(par1World);
              //Ici vos task.add pour l'intelligence artificielle
              //...
          }
      

      Dans ce bout de classe, rien de spécial, donc nous allons rajouter 2 petites choses:

      Au début de la classe avant le constructor rajoutez ceci:
      public int texture;
      Dans le constructeur, vous allez rajouter, après le super…:
      texture = this.worldObj.rand.nextInt(nombreDeTexturePresente);

      Explications: le nombreDeTexturePresente est un int
      vous allez simplement mettre le nombre de textures que vous avez (si vous avez 25 textures différentes vous mettez (25) tout simplement)

      Voici ce que vous devriez avoir:

      public class EntityAstuceTextureRandom extends EntityMob
      {
          public int texture;
          public EntityAstuceTextureRandom(World par1World)
          {
              super(par1World);
              texture = this.worldObj.rand.nextInt(65); //65 pour le nombre de textures qui seront random
      
              //Ici vos task.add pour l'intelligence artificielle
              //...
          }
      

      Pour la classe principale de notre mob, c’est terminé !
      Passons à la classe Render

      Render.java de notre mob:

      Dans le Render.java d’elias54 nous allons modifier 3/4 choses:

          //Bout de code de elias54
          protected ResourceLocation getAniZobTextures(EntityAnizob anizob)
          {
              return texture;
          }
      
          protected ResourceLocation getEntityTexture(Entity par1Entity)
          {
              return this.getAniZobTextures((EntityAnizob)par1Entity);
          }
      

      Changeons tout ça !

      Par ça !

          //Bout de code de elias54
          protected ResourceLocation getEntityAstuceTextureRandomTextures(EntityAstuceTextureRandom astuceRandom)
          {
              return new ResourceLocation("modid:mob/votremob"  + astuceRandom.texture + ".png"); //Changez, biensûr le chemin d'accès au textures !
          }
      
          protected ResourceLocation getEntityTexture(Entity par1Entity)
          {
              return this.getEntityAstuceTextureRandomTextures((EntityAstuceTextureRandom)par1Entity);
          }
      

      Nous avons remplacé “return texture” par:
      return new ResourceLocation(“modid:mob/votremob” + astuceRandom.texture + “.png”);

      Résultat

      Une fois que notre mob spawn avec un œuf, ou naturellement, il aura une texture random parmi nos 65 textures

      Voici quelques images:


      PS: Si ils ont des items dans la mains, c’est parce que j’ai directement pris des screens de mobs que j’ai créé, flemme de faire un mob “AstuceTextureRandom”. Et c’est sur ces mobs que j’ai appliqué le tutoriel “Créer un mob tenant un item dans sa main”, mais le random de textures est bien présent !

      Bonus

      Pour les versions antérieures à la 1.6.x :

      public class EntityAstuceRandomTexture extends EntityMob
      {
          public EntityAstuceRandomTexture (World par1World)
          {
              super(par1World);
              this.texture = "modid:mob/astuceRandom" + (new Random().nextInt(65)) + ".png";
              //Ici vos task.add pour l' Intelligence Artificielle
          }
      }
      

      Crédits

      Merci Robin de m’avoir trouvé la solution et c’est pour cela que j’en ai fait une astuce !


      Creative Commons
      Ce tutoriel de Minecraft Forge France est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International

      retourRetour vers le sommaire des tutoriels

      Si je t'ai filé un coup de main n'oublie pas le + / -
      Par contre évite les demandes d'aides en MP, tu sera sympa'

      La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

      Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

        Super ! Le tutoriel est parfait ^^

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

          Merci ! Et merci à toi aussi pour le coup de main en 1.6

          Si je t'ai filé un coup de main n'oublie pas le + / -
          Par contre évite les demandes d'aides en MP, tu sera sympa'

          La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

          Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

            Oh oh ! Comme ça mon tutoriel est hérité par un autre. ^^ Quoi qu’il en soit bon tutoriel et très explicite. 🙂

            Mon site | GitHub

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

              Merci !

              Si je t'ai filé un coup de main n'oublie pas le + / -
              Par contre évite les demandes d'aides en MP, tu sera sympa'

              La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

              Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

              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