MFF

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

    Texture de trappe orientable

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    14 Messages 5 Publieurs 2.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.
    • S Hors-ligne
      sventus
      dernière édition par

      merci plaigon, donc j’avais trouvé la bonne fonction, les noms ont été remplacés pour mieux voir, mais je vois pas ou mettre

      “world.getBlockMetadata(x, y, z);” …

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

        Il ne faut pas utiliser onBlockAdded car ta superclasse (le extends) BlockTrapDoor le gère déjà, donc il faut que tu get la méta data dans getIcon pour savoir l’orientation qu’à enregistré BlockTrapDoor dans sa fonction onBlockAdded.

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

          c’est honteux je sais,  j’ai essayé quelque chose comme ça, sans succès :

          
          if (world.getBlockMetadata(x, y, z) == 2)
          {
          world.getBlock(x - 1, y, z).getIcon(world, x - 1, y, z, side);
          }
          
          if (world.getBlockMetadata(x, y, z) == 3)
          {
          world.getBlock(x + 1, y, z).getIcon(world, x + 1, y, z, side);
          }
          
          if (world.getBlockMetadata(x, y, z) == 4)
          {
          world.getBlock(x + 1, y, z).getIcon(world, x, y, z - 1, side);
          }
          
          if (world.getBlockMetadata(x, y, z) == 5)
          {
          world.getBlock(x + 1, y, z).getIcon(world, x, y, z + 1, side);
          }
          
          
          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

            Il faut juste que tu place ce code dans la fonction getIcon et que tu mettes des return devant les world.getBlock(….).getIcon(…); et ça sera bon.

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

              voila ma class :

              
              public IIcon getIcon(IBlockAccess world,int x, int y, int z, int side)
              {
              
              if (world.getBlockMetadata(x, y, z) == 2)
              {
              
              return world.getBlock(x - 1, y, z).getIcon(world, x - 1, y, z, side);
              }
              
              if (world.getBlockMetadata(x, y, z) == 3)
              {
              
              return world.getBlock(x + 1, y, z).getIcon(world, x + 1, y, z, side);
              }
              
              if (world.getBlockMetadata(x, y, z) == 4)
              {
              
              return world.getBlock(x + 1, y, z).getIcon(world, x , y, z - 1, side);
              }
              
              if (world.getBlockMetadata(x, y, z) == 5)
              {
              
              return world.getBlock(x + 1, y, z).getIcon(world, x + 1, y, z, side);
              }
              
              return world.getBlock(x + 1, y, z).getIcon(world, x , y, z - 1, side);
              
              

              je suis obligé d’avoir le dernier return sinon ça me met une erreur …

              et du coup ça prend en compte que le dernier 😕

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

                Est-ce que tu as vérifié as quelle face correspond chaque méta data dans la classe BlockTrapDoor ?

                Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

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

                  le “==2” ? et tout ça ?

                  j’ai réussi, j’avais pas réfléchi car en gros j"ai changé les == 1 ….  pour trouver lequel correspondait à quelle positionnement ^^

                  par contre je viens de voir qu’une fois la trappe levé, bah je perd la texture

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

                    Vérifie bien la méta data dans la classe BlockTrapDoor car il y a deux méta data à mettre dans chaque condition: une pour quand le trappe est ouverte et une autre quand elle est fermé. ( exemple if (world.getBlockMetadata(x, y, z) == 2 || world.getBlockMetadata(x, y, z) == 😎 )
                    En plus, je pence que tu t’est trompé pour tes 3 derniers return car il n’y à pas les mêmes argument en x, y et z pour le getBlock er le getIcon.

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

                      oui je faisais des tests, ça c’est ce que j’ai de fonctionnel (je vais ajouter les deuxiemes metadata :

                      
                      public IIcon getIcon(IBlockAccess world,int x, int y, int z, int side)
                      {
                      
                      if ((world.getBlockMetadata(x, y, z) == 3) || (world.getBlockMetadata(x, y, z) == 7))
                      {
                      
                      return world.getBlock(x - 1, y, z).getIcon(world, x - 1, y, z, side);
                      }
                      
                      if ((world.getBlockMetadata(x, y, z) == 0) || (world.getBlockMetadata(x, y, z) == 4))
                      {
                      
                      return world.getBlock(x, y, z + 1).getIcon(world, x , y, z + 1, side);
                      }
                      
                      if ((world.getBlockMetadata(x, y, z) == 1) || (world.getBlockMetadata(x, y, z) == 5))
                      {
                      
                      return world.getBlock(x, y, z - 1).getIcon(world, x, y, z - 1, side);
                      }
                      
                      return world.getBlock(x + 1, y, z).getIcon(world, x , y, z - 1, side);
                      
                         }
                      
                      

                      voila c’est fini, tout marche parfaitement, merci beaucoup pour votre aide 🙂 ❤

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

                        Balise résolue à ne pas oublier 😃

                        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