• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Block direction 1 seul texture

    Sans suite
    1.7.10
    2
    4
    893
    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.
    • darkvince37
      darkvince37 dernière édition par

      Bonjour,

      Je cherche a refaire la Terracotta de la nouvelle snapshot. En gros je voudrai créer un block qui s’oriente avec 1 seul texture. J’ai essayé de regardé tous les block orientable (Four, Bois, Citrouille…) sauf que rient de tous sa na fonctionné. Donc la je suis revenu au code normal sans bien avancé.

      package fr.darkvince.ultrav2.snapshot;
      
      import javax.swing.Icon;
      
      import cpw.mods.fml.relauncher.Side;
      import cpw.mods.fml.relauncher.SideOnly;
      import net.minecraft.block.Block;
      import net.minecraft.block.BlockBush;
      import net.minecraft.block.BlockContainer;
      import net.minecraft.block.BlockDirectional;
      import net.minecraft.block.material.Material;
      import net.minecraft.client.renderer.texture.IIconRegister;
      import net.minecraft.entity.EntityLivingBase;
      import net.minecraft.init.Blocks;
      import net.minecraft.item.ItemStack;
      import net.minecraft.nbt.NBTTagCompound;
      import net.minecraft.tileentity.TileEntity;
      import net.minecraft.tileentity.TileEntityFurnace;
      import net.minecraft.util.Facing;
      import net.minecraft.util.IIcon;
      import net.minecraft.util.MathHelper;
      import net.minecraft.world.IBlockAccess;
      import net.minecraft.world.World;
      import net.minecraftforge.common.util.ForgeDirection;
      
      public class BlockTerracotta extends BlockDirectional
      {
      
      public BlockTerracotta(Material p_i45401_1_) {
      super(p_i45401_1_);
      // TODO Auto-generated constructor stub
      }
      
      public void onBlockPlacedBy(World par1World, int x, int y, int z, EntityLivingBase par5EntityLivingBase, ItemStack par6ItemStack)
         {
             int whichDirectionFacing = MathHelper.floor_double((double)(par5EntityLivingBase.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
             par1World.setBlockMetadataWithNotify(x, y, z, whichDirectionFacing, 2);
         }
      
      }
      
      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        Salut,
        Il faire comme la porte, générer d’autres textures mais avec une rotation à partir du même fichier avec les IconFlipped

        1 réponse Dernière réponse Répondre Citer 0
        • darkvince37
          darkvince37 dernière édition par

          @‘robin4002’:

          Salut,
          Il faire comme la porte, générer d’autres textures mais avec une rotation à partir du même fichier avec les IconFlipped

          Merci voilà se que j’ai trouvé est ce que c’est sa avant que je continu

          package fr.darkvince.ultrav2.snapshot;
          
          import javax.swing.Icon;
          
          import cpw.mods.fml.relauncher.Side;
          import cpw.mods.fml.relauncher.SideOnly;
          import net.minecraft.block.Block;
          import net.minecraft.block.BlockBush;
          import net.minecraft.block.BlockContainer;
          import net.minecraft.block.BlockDirectional;
          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.init.Blocks;
          import net.minecraft.item.ItemStack;
          import net.minecraft.nbt.NBTTagCompound;
          import net.minecraft.tileentity.TileEntity;
          import net.minecraft.tileentity.TileEntityFurnace;
          import net.minecraft.util.Facing;
          import net.minecraft.util.IIcon;
          import net.minecraft.util.MathHelper;
          import net.minecraft.world.IBlockAccess;
          import net.minecraft.world.World;
          import net.minecraftforge.common.util.ForgeDirection;
          
          public class BlockTerracotta extends BlockDirectional
          {
          public IIcon topDoorIcon;
          public IIcon[] flippedIcons = new IIcon[2];
          
          public BlockTerracotta(Material p_i45401_1_) {
          super(p_i45401_1_);
          // TODO Auto-generated constructor stub
          }
          
          public IIcon getBlockTexture(IBlockAccess par1IBlockAccess, int par2,
          int par3, int par4, int par5) {
          if (par5 == 1 || par5 == 0) {
          return this.blockIcon;
          }
          int meta = func_150012_g(par1IBlockAccess, par2, par3, par4);
          boolean flag = (meta & 4) != 0;
          int halfMeta = meta & 3;
          boolean flipped = false;
          
          if (flag) {
          if (halfMeta == 0 && par5 == 2)
          flipped = !flipped;
          else if (halfMeta == 1 && par5 == 5)
          flipped = !flipped;
          else if (halfMeta == 2 && par5 == 3)
          flipped = !flipped;
          else if (halfMeta == 3 && par5 == 4)
          flipped = !flipped;
          } else {
          if (halfMeta == 0 && par5 == 5)
          flipped = !flipped;
          else if (halfMeta == 1 && par5 == 3)
          flipped = !flipped;
          else if (halfMeta == 2 && par5 == 4)
          flipped = !flipped;
          else if (halfMeta == 3 && par5 == 2)
          flipped = !flipped;
          if ((meta & 16) != 0)
          flipped = !flipped;
          }
          
          if (flipped)
          return flippedIcons[(meta & 8) != 0 ? 1 : 0];
          else
          return (meta & 8) != 0 ? this.topDoorIcon : this.blockIcon;
          }
          
          private int func_150012_g(IBlockAccess par1iBlockAccess, int par2, int par3, int par4) {
          // TODO Auto-generated method stub
          return 0;
          }
          
          public IIcon getIcon(int par1, int par2) {
          return this.blockIcon;
          }
          
          public void registerIcons(IIconRegister iconRegister) {
          this.blockIcon = iconRegister.registerIcon(":ultrav2:glazed_terracotta_black");
          this.topDoorIcon = iconRegister.registerIcon("ultrav2:glazed_terracotta_black");
          this.flippedIcons[0] = new IconFlipped(blockIcon, true, false);
          this.flippedIcons[1] = new IconFlipped(topDoorIcon, true, false);
          }
          
          }
          
          1 réponse Dernière réponse Répondre Citer 0
          • robin4002
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

            Alors j’ai parlé du code de la porte juste pour que tu vois le IconFlipped, pour le reste faut pas tout reprendre bêtement, il faut adapter à la situation.

            1 réponse Dernière réponse Répondre Citer 0
            • 1 / 1
            • Premier message
              Dernier message
            Design by Woryk
            Contact / Mentions Légales

            MINECRAFT FORGE FRANCE © 2018

            Powered by NodeBB