MFF

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

    Problème de direction quand ont pose le block à terre.

    Planifier Épinglé Verrouillé Déplacé Résolu Anciennes versions
    1.5.2
    7 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.
    • B Hors-ligne
      Bounty
      dernière édition par

      Bonjour à tous,

      je suis toujours à la recherche d’une solution pour la direction de mon block, c’est a dire quand je pose mon block a terre et que sa soit le nord, ouest, est ou sud et que la texture (devant)soit en face à moi.Je sais que c’est un problème de metadata (et j’ai du mal avec les metadata justement), donc je viens recueillir votre aide.
      Quelles photo pour info de ce que je veut :

      ![](http://bountycraft.power-heberg.com/Images perso/mods.png)

      ![](http://bountycraft.power-heberg.com/Images perso/mods1.png) ![](http://bountycraft.power-heberg.com/Images perso/mods2.png)

      Merci d’avance…

      [mon code]

      package crepi.mod;
      
      import java.util.List;
      
      import cpw.mods.fml.relauncher.Side;
      import cpw.mods.fml.relauncher.SideOnly;
      import net.minecraft.block.Block;
      import net.minecraft.block.material.Material;
      import net.minecraft.client.renderer.texture.IconRegister;
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.item.ItemStack;
      import net.minecraft.util.Icon;
      
      public class BlockComptoir1 extends Block
      {
      public BlockComptoir1(int par1, Material par2Material)
      {
      super(par1, par2Material);
      this.setCreativeTab(ModBuild.CreativeTabAccessoire);
      }
      
      private Icon bottomIcon; // dessus
      private Icon topIcon; // dessous
      private Icon sideIcon; // face
      private Icon frontIcon; // devant
      private Icon rearIcon; // dos
      
      @SideOnly(Side.CLIENT)
      public Icon getIcon(int par1, int par2)
      {
      if(par1 == 0 && par2 == 0){return this.bottomIcon; // dessous
      } else if
      (par1 == 1 && par2 == 0){return this.topIcon; // dessus
      } else if
      (par1 == 2 && par2 == 0){return this.rearIcon; // dos
      } else if
      (par1 == 3 && par2 == 0){return this.frontIcon; // devant
      } else if
      (par1 == 4 && par2 == 0){return this.bottomIcon; // gauche
      } else if
      (par1 == 5 && par2 == 0){return this.bottomIcon; // droite
      } else{
      return this.sideIcon;}
      }
      
      @Override
      @SideOnly(Side.CLIENT)
      
      public void registerIcons(IconRegister reg)
      {
      
      this.blockIcon = reg.registerIcon("comptoir1");
      this.topIcon = reg.registerIcon("comptoir_dessus"); // haut
      this.bottomIcon = reg.registerIcon("comptoir_coter"); // bas
      this.sideIcon = reg.registerIcon("comptoir_coter"); // droite & gauche
      this.frontIcon = reg.registerIcon("comptoir1"); // devant
      this.rearIcon = reg.registerIcon("comptoir_logo1"); // dos
      }
      
      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);
      }
      
      }
      

      Merci d’avance pour votre aide.
      Je vais encore survoler le forum voir si j’aurais pas oublié de voir quelques info à ce sujet.

      Bounty…

      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

        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);
        }
        

        Sans ce code ça peut pas fonctionner.
        Et sinon => http://www.minecraftforgefrance.fr/showthread.php?tid=115

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

          Re,

          J’ai placer le code suivant le topic Direction de bloc à l’adresse que tu ma donné, mais il me souligne en rouge EntityLivingBase et la je vois pas il me demande de créer la class EntityLivingBase ou de refaire les paramètre.

          ![](http://bountycraft.power-heberg.com/Images perso/entity.png).

          Je suis encore en ver. 1.5.1

          Bounty…

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

            Clique sur “Change to ‘EntityLiving’”

            Mon site | GitHub

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

              Re bonjour à tous,

              Merci tout d’abord à Robin4002 et Elias54 pour leur aide qui ma été d’un grand secours,
              sans les quelles je devrait dire que j’y serait encore sur mon script.

              je me suis permis de reposer mon (code) rectifier car je ne savez pas trop s’il fallait
              le rééditer.

              
              package crepi.mod;
              
              import java.util.List;
              
              import cpw.mods.fml.relauncher.Side;
              import cpw.mods.fml.relauncher.SideOnly;
              import net.minecraft.block.Block;
              import net.minecraft.block.BlockDirectional;
              import net.minecraft.block.material.Material;
              import net.minecraft.client.renderer.texture.IconRegister;
              import net.minecraft.creativetab.CreativeTabs;
              import net.minecraft.entity.EntityLiving;
              import net.minecraft.item.ItemStack;
              import net.minecraft.util.Icon;
              import net.minecraft.util.MathHelper;
              import net.minecraft.world.World;
              
              public class BlockComptoir1 extends BlockDirectional{
              
              public BlockComptoir1(int par1, Material par2Material)
              {
              super(par1, par2Material);
              this.setCreativeTab(ModBuild.CreativeTabAccessoire);
              }
              // - Mes4Texures - //
              private Icon iconfront; // LeDevant
              private Icon icontop; // LeDessous
              private Icon iconbottom; // LeDessus
              private Icon iconrear; // LeDos
              
              @SideOnly(Side.CLIENT)
              public Icon getIcon(int side, int metadata)
              {
              return side == 1 ? this.icontop : (side == 0 ? this.iconbottom : (metadata == 2 && side == 2 ?
              this.iconfront : (metadata == 3 && side == 5 ? this.iconfront : (metadata == 0 && side == 3 ?
              this.iconfront : (metadata == 1 && side == 4 ? this.iconfront : this.blockIcon)))));
              }
              
              @Override
              @SideOnly(Side.CLIENT)
              public void registerIcons(IconRegister iconRegister)
              {
              blockIcon = iconRegister.registerIcon("comptoir_coter");
              iconfront = iconRegister.registerIcon("comptoir1"); // LeDevant
              icontop = iconRegister.registerIcon("comptoir_dessus"); // LeHaut
              iconbottom = iconRegister.registerIcon("comptoir_coter"); // LeBas
              iconrear = iconRegister.registerIcon("comptoir_logo1"); // LeDos
              }
              
              public void onBlockPlacedBy(World world, int x, int y, int z, EntityLiving 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);
              }
              }
              
              

              Une dernière chose encore sur mon code j’aurais voulu que le derrière de mon cube est un autre
              texture (iconrear), car la elle la (blockIcon) et je ne vois pas entre qui je dois la mettre.
              Et si vous pouviez m’aider encore une fois svp.

              
              public Icon getIcon(int side, int metadata)
              {
              return side == 1 ? this.icontop : (side == 0 ? this.iconbottom : (metadata == 2 && side == 2 ?
              this.iconfront : (metadata == 3 && side == 5 ? this.iconfront : (metadata == 0 && side == 3 ?
              this.iconfront : (metadata == 1 && side == 4 ? this.iconfront : this.blockIcon)))));
              }
              
              

              Merci d’avance.

              Bounty…

              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

                public Icon getIcon(int side, int metadata)
                {
                return side == 1 ? this.icontop : (side == 0 ? this.iconbottom : (metadata == 2 && side == 2 ? this.iconfront : (metadata == 3 && side == 5 ? this.iconfront : (metadata == 0 && side == 3 ? this.iconfront : (metadata == 1 && side == 4 ? this.iconfront : (metadata == 2 && side == 3 ? this.iconbehind : (metadata == 3 && side == 4 ? this.iconbehind : (metadata == 0 && side == 2 ? this.iconbehind : (metadata == 1 && side == 5 ? this.iconbehind : this.blockIcon)))))))));
                }
                
                1 réponse Dernière réponse Répondre Citer 0
                • B Hors-ligne
                  Bounty
                  dernière édition par

                  Bonjour à tous,

                  Merci encore, problème entièrement résolu.

                  Bounty…

                  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