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.
    • DeletedD Hors-ligne
      Deleted
      dernière édition par

      public int onBlockPlaced(World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metadata) {}

      1 réponse Dernière réponse Répondre Citer 0
      • 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