MFF

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

    SetBlock Avec Direction

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.2
    9 Messages 3 Publieurs 2.1k 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.
    • BurningCraftB Hors-ligne
      BurningCraft
      dernière édition par

      Bonjour,

      j’ai crée un bloc ‘special’ ou quand on clique dessus sa le remplace en un autre bloc, mais le problème c’est que je ne sait pas faire en sorte que ce bloc soit dans la même direction que le précédent ^^.

      En Gros:

      Block1 devient Block2 quand on clique dessus
      Mais Block2 ne se met pas dans le sens que était Block1

      1 réponse Dernière réponse Répondre Citer 0
      • BrokenSwingB Hors-ligne
        BrokenSwing Moddeurs confirmés Rédacteurs
        dernière édition par

        Tu définie la direction de ton bloc de quelle façon ? Dans un TE ?

        1 réponse Dernière réponse Répondre Citer 0
        • DiabolicaTrixD Hors-ligne
          DiabolicaTrix Correcteurs Moddeurs confirmés
          dernière édition par

          Eh bien, peu importe si tu utilises un TE ou les metadata, tu récupère la direction et tu l’appliques sur ton bloc.

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

            @‘BrokenSwing’:

            Tu définie la direction de ton bloc de quelle façon ? Dans un TE ?

            Oui c’est un TE
            @‘DiabolicaTrix’:

            Eh bien, peu importe si tu utilises un TE ou les metadata, tu récupère la direction et tu l’appliques sur ton bloc.

            j’ai essayer cela mais sa ne marche pas

              public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
                   {
                    TileEntity tile = world.getTileEntity(x, y, z);
            
                int direction = ((TileEntityblock1)tile).getDirection();
                if(direction == 0)
                {
                world.setBlock(x, y, z, LaFrenchCraftMOD.block2, 0, 0);
                }
                else if(direction == 1)
                {
                world.setBlock(x, y, z, LaFrenchCraftMOD.block2, 1, 0);
                }
                else if(direction == 2)
                {
                world.setBlock(x, y, z, LaFrenchCraftMOD.block2, 2, 0);
                }
                else if(direction == 3)
                {
                world.setBlock(x, y, z, LaFrenchCraftMOD.block2, 3, 0);
                }
                }
            
            1 réponse Dernière réponse Répondre Citer 0
            • BrokenSwingB Hors-ligne
              BrokenSwing Moddeurs confirmés Rédacteurs
              dernière édition par

              
              public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
              TileEntity tile = world.getTileEntity(x, y, z);
              
              int direction = ((TileEntityblock1)tile).getDirection();
              world.setBlock(x, y, z, LaFrenchCraftMOD.block2);
              ((Cast)world.getTileEntity(x, y, z)).setDirection(direction);
              }
              
              
              1 réponse Dernière réponse Répondre Citer 1
              • BurningCraftB Hors-ligne
                BurningCraft
                dernière édition par

                @‘DiabolicaTrix’:

                Eh bien, peu importe si tu utilises un TE ou les metadata, tu récupère la direction et tu l’appliques sur ton bloc.

                @‘BrokenSwing’:

                
                public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
                       TileEntity tile = world.getTileEntity(x, y, z);
                   
                       int direction = ((TileEntityblock1)tile).getDirection();
                       world.setBlock(x, y, z, LaFrenchCraftMOD.block2);
                       ((Cast)world.getTileEntity(x, y, z)).setDirection(direction);
                }
                
                

                heuu j’ai une erreur sur

                ((Cast)world.getTileEntity(x, y, z))
                

                Cast cannot be resolved to a type

                j’ai essayer de remplace cast par le TE du Block 2 mais la aussi une erreur mais sur le

                %(#333333)[```java
                setDirection

                
                The method setDirection(byte) in the type TileEntityblock2 is not applicable for the arguments (int)
                1 réponse Dernière réponse Répondre Citer 0
                • DiabolicaTrixD Hors-ligne
                  DiabolicaTrix Correcteurs Moddeurs confirmés
                  dernière édition par

                  cast byte à direction.

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

                    @‘DiabolicaTrix’:

                    cast byte à direction.

                    oui j’y ai penser des que j’ai poster XD et sa marche parfaitement(sa m’apprendra a réfléchir plus avant de poster XD) merci a vous tous 🙂

                    1 réponse Dernière réponse Répondre Citer 0
                    • BrokenSwingB Hors-ligne
                      BrokenSwing Moddeurs confirmés Rédacteurs
                      dernière édition par

                      Pour Cast c’est normal c’était juste pour indiquer qu’il fallait cast le TE
                      Ensuite tu devrais avoir le même système de direction pour tout tes blocs, si tu utilise un byte, fait le tout avec les bytes

                      Tu déclare la variable direction comme un byte ```java
                      private byte direction;

                      Tu récupère un byte losque tu récupère la direction ```java
                      public byte getDirection() { return direction; }
                      

                      Tu met un byte en argument lorsque tu set la direction ```java
                      public void setDirection(byte d) { direction = d; }

                      Et du coup tu récupère un byte dans la fonction onBlockActivated :
                      ```java
                      byte direction = ((Cast)TE).getDirection();
                      
                      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