• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Block sans metadata qui ne s'oriente pas

    1.7.x
    1.7.10
    4
    17
    5128
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Deleted
      Deleted last edited by

      Salut tout le monde
      Je cherche à faire orienter mon block, j’ai vu le tuto présent sur le site mais mon block lui n’a aucune metadata et pour l’instant j’ai fais un petit test, voici le code mais rien que ça, ça ne marche même pas pourtant le message s’affiche bien dans la console:

      
      package mrplaigon.zombarcraftserver.zombarcraftmod.common.handler;
      
      import net.minecraft.block.material.Material;
      import net.minecraft.world.World;
      import net.minecraftforge.common.util.ForgeDirection;
      import mrplaigon.zombarcraftserver.zombarcraftmod.common.block.BlockZB;
      
      public class BlockBitumeWhite extends BlockZB
      {
      
      public BlockBitumeWhite(Material material) 
      {
      super(material);
      }
      public void onBlockAdded(World world, int x, int y, int z)
      {
      System.out.println("blockadded");
      this.rotateBlock(world, x ,y, z, ForgeDirection.EAST);
      }
      }
      

      Merci d’avance ^^
      Si quelqu’un a un meilleur code pour une rotation adapté à mon block, je ne dis pas non 😃

      1 Reply Last reply Reply Quote 0
      • pulgan
        pulgan last edited by

        moi j’ai ceci si je me souviens bien il n’y a pas de metadata pour le bloc

        public class BlockEcran extends Block 
        
        {
        private IIcon sud;
        
        protected BlockEcran(Material material) 
        {
        super(material);
        this.setCreativeTab(CreativeTabs.tabTools);
        
        }
        public void registerBlockIcons(IIconRegister iiconRegister)
            {
        
            this.sud = iiconRegister.registerIcon(ModTutoriel.MODID + ":texture");
            }
          @SideOnly(Side.CLIENT)
           public IIcon getIcon(int side, int metadata)
           {
               return side == 3 && metadata == 0 ? this.sud : (side == 4 && metadata == 1 ? this.sud: (side == 2 && metadata == 2 ? this.sud : (side == 5 && metadata == 3 ? this.sud : this.sud)));
           }
         public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack)
           {
               int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
               world.setBlockMetadataWithNotify(x, y, z, direction, 2);
           }
        }
        
        
        1 Reply Last reply Reply Quote 0
        • SCAREX
          SCAREX last edited by

          Je comprends pas vraiment ce que tu veux dire.

          Site web contenant mes scripts : http://SCAREXgaming.github.io

          Pas de demandes de support par MP ni par skype SVP.
          Je n'accepte sur skype que l…

          1 Reply Last reply Reply Quote 0
          • Deleted
            Deleted last edited by

            Je souhaiterai en fait faire que mon block qui a juste une seule texture pas plusieurs soit orientable.  Ce que j avais fais ne marche même pas car dans la suite j aurai mis des conditions

            1 Reply Last reply Reply Quote 0
            • pulgan
              pulgan last edited by

              j’édite mon ancien message pour

              cela devrait marcher j’ai pas tester

              1 Reply Last reply Reply Quote 0
              • Deleted
                Deleted last edited by

                @‘pulganr’:

                j’édite mon ancien message pour

                cela devrait marcher j’ai pas tester

                Sa ne marche mas, c’est toujours comme avant.

                1 Reply Last reply Reply Quote 0
                • robin4002
                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                  http://www.minecraftforgefrance.fr/showthread.php?tid=1304#partie2

                  1 Reply Last reply Reply Quote 0
                  • Deleted
                    Deleted last edited by

                    @‘robin4002’:

                    http://www.minecraftforgefrance.fr/showthread.php?tid=1304#partie2

                    Le tuto me demande d’avoir au moins 2 textures or moi je n’en veux que une donc là est le soucis

                    1 Reply Last reply Reply Quote 0
                    • robin4002
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                      ? Il n’y a aucun intérêt a rendre orientable ton bloc dans ce cas x)

                      1 Reply Last reply Reply Quote 0
                      • Deleted
                        Deleted last edited by

                        Je ne comprends pas tout mon block ne tourne pas et je ne souhaite pas passer par un item qui le ferait tourner. Je veux juste comme de nombreux blocks de minecraft qu’il soit déjà dans la bonne direction une fois posée.
                        Voici la class de mon block :

                        
                        package mrplaigon.zombarcraftserver.zombarcraftmod.common.block;
                        
                        import mrplaigon.zombarcraftserver.zombarcraftmod.common.ZombarCraftMod;
                        import net.minecraft.block.material.Material;
                        import net.minecraft.client.renderer.texture.IIconRegister;
                        import net.minecraft.entity.EntityLivingBase;
                        import net.minecraft.item.ItemStack;
                        import net.minecraft.util.IIcon;
                        import net.minecraft.util.MathHelper;
                        import net.minecraft.world.World;
                        import net.minecraftforge.common.util.ForgeDirection;
                        import cpw.mods.fml.relauncher.Side;
                        import cpw.mods.fml.relauncher.SideOnly;
                        
                        public class BlockBitumeWhite extends BlockZB
                        {
                        
                        private IIcon top;
                        
                        public BlockBitumeWhite(Material material) 
                        {
                        super(material);
                        }
                        public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack)
                           {
                               int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
                               world.setBlockMetadataWithNotify(x, y, z, direction, 2);
                           }
                        @SideOnly(Side.CLIENT)
                           public IIcon getIcon(int side, int metadata)
                           {
                               if(side == 1)
                               {
                                   return this.top;
                               }
                               return this.blockIcon;
                           }
                        public void registerBlockIcons(IIconRegister iiconRegister)
                           {
                            this.blockIcon = iiconRegister.registerIcon(ZombarCraftMod.MODID + ":bitume");
                            this.top = iiconRegister.registerIcon(ZombarCraftMod.MODID + ":bitumeWhite");
                           }
                        }
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • robin4002
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                          Franchement je ne comprends toujours pas ce que tu veux faire. Explique de façon plus clair, donne des exemples, etc …

                          1 Reply Last reply Reply Quote 0
                          • Deleted
                            Deleted last edited by

                            @‘robin4002’:

                            Franchement je ne comprends toujours pas ce que tu veux faire. Explique de façon plus clair, donne des exemples, etc …

                            D’accord.
                            J’ai créer un block bitume avec la ligne blanche sur la face du dessus, mon block marche bien il a bien les 2 bonnes textures au 2 bon endroits, je souhaite juste désormais l’orienter comme le coffre, le four, la table de craft…de minecraft mais dans ton tuto tu parles d’un item qui orienterait le block, je souhaite m’en passer. En gros je veux juste avoir un block qui s’oriente en fonction du sens du joueur qui le pose.
                            Merci d’avance

                            1 Reply Last reply Reply Quote 0
                            • robin4002
                              robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                              C’est déjà plus clair. Tu peux envoyer un screenshot du bloc ?
                              Par contre, l’item pour faire tourner les blocs n’est absolument pas nécessaire, le code que j’ai donné dans le tuto permet bien de changer le metadata en fonction de la direction dans lequel il est posé, et ça tu en a aussi besoin.
                              Et à mon avis tu vas aussi avoir besoin des flipedIcon (regarde BlockDoor).

                              1 Reply Last reply Reply Quote 0
                              • pulgan
                                pulgan last edited by

                                Le code que j’ai doner a des textures sur certaines face et peut s’orrienter normalement mais j’ai des problèmes avec mon éclipse donc je peut pas vérifier 😢

                                1 Reply Last reply Reply Quote 1
                                • Deleted
                                  Deleted last edited by

                                  @‘robin4002’:

                                  C’est déjà plus clair. Tu peux envoyer un screenshot du bloc ?
                                  Par contre, l’item pour faire tourner les blocs n’est absolument pas nécessaire, le code que j’ai donné dans le tuto permet bien de changer le metadata en fonction de la direction dans lequel il est posé, et ça tu en a aussi besoin.
                                  Et à mon avis tu vas aussi avoir besoin des flipedIcon (regarde BlockDoor).

                                  voici le screen :
                                  http://hpics.li/1feb1f1

                                  Mais je pensais, la porte c’est composé de 2 blocks, le code ne risque-t-il donc pas de me porter à confusion ?

                                  @‘pulganr’:

                                  Le code que j’ai doner a des textures sur certaines face et peut s’orrienter normalement mais j’ai des problèmes avec mon éclipse donc je peut pas vérifier 😢

                                  C’est le même code que le mien et cela ne marche pas

                                  1 Reply Last reply Reply Quote 0
                                  • robin4002
                                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                                    Maintenant j’ai compris.

                                    ​package fr.minecraftforgefrance.tutoriel.common;
                                    
                                    import net.minecraft.block.Block;
                                    import net.minecraft.block.material.Material;
                                    import net.minecraft.client.renderer.IconFlipped;
                                    import net.minecraft.client.renderer.texture.IIconRegister;
                                    import net.minecraft.entity.EntityLivingBase;
                                    import net.minecraft.item.ItemStack;
                                    import net.minecraft.util.IIcon;
                                    import net.minecraft.util.MathHelper;
                                    import net.minecraft.world.World;
                                    import net.minecraftforge.common.util.ForgeDirection;
                                    import net.minecraftforge.common.util.RotationHelper;
                                    import cpw.mods.fml.client.FMLClientHandler;
                                    import cpw.mods.fml.relauncher.Side;
                                    import cpw.mods.fml.relauncher.SideOnly;
                                    
                                    public class BlockTutoriel extends Block
                                    {
                                        private IIcon blockIcon2, rotateIcon;
                                    
                                        protected BlockTutoriel(Material material)
                                        {
                                            super(material);
                                        }
                                    
                                        public void registerBlockIcons(IIconRegister iiconRegister)
                                        {
                                            this.blockIcon = iiconRegister.registerIcon(ModTutoriel.MODID + ":yellow_black");
                                            this.rotateIcon = iiconRegister.registerIcon(ModTutoriel.MODID + ":yellow_black_rotate");
                                            this.blockIcon2 = iiconRegister.registerIcon(ModTutoriel.MODID + ":yellow");
                                        }
                                    
                                        public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack)
                                        {
                                            int direction = (MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3) % 2;
                                            world.setBlockMetadataWithNotify(x, y, z, direction, 2);
                                        }
                                    
                                        @SideOnly(Side.CLIENT)
                                        public IIcon getIcon(int side, int metadata)
                                        {
                                            if(side == 1)
                                            {
                                                return metadata == 0 ? blockIcon : rotateIcon;
                                            }
                                            return this.blockIcon2;
                                        }
                                    }
                                    

                                    yellow_black = texture du haut, yellow_black_rotate = même texture mais tourné de 90 °
                                    J’ai pas réussi à utiliser les IconFlipped

                                    1 Reply Last reply Reply Quote 1
                                    • Deleted
                                      Deleted last edited by

                                      Merci beaucoup de votre aide à tous

                                      1 Reply Last reply Reply Quote 0
                                      • 1 / 1
                                      • First post
                                        Last post
                                      Design by Woryk
                                      Contact / Mentions Légales

                                      MINECRAFT FORGE FRANCE © 2018

                                      Powered by NodeBB