Navigation

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

    Porte qui prend la texture du block en dessous d'elle

    Sans suite
    1.8
    2
    3
    730
    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.
    • S
      Sciron last edited by

      Bonjour, je cherche à faire une porte qui prend la texture du block qui es en-dessous d’elle, mais mon code est faut es pendant plusieurs heures j’ai essayer mais impossible de trouver la cause du problème, je demande donc votre aide. Je suis vraiment bloquer, j’espère que vous m’aiderez 😄

      Mon code:

      package com.mod.tgotg.init;
      
      import java.util.Random;
      
      import cpw.mods.fml.relauncher.Side;
      import cpw.mods.fml.relauncher.SideOnly;
      import net.minecraft.block.BlockDoor;
      import net.minecraft.block.material.Material;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.item.Item;
      import net.minecraft.util.IIcon;
      import net.minecraft.world.IBlockAccess;
      import net.minecraft.world.World;
      
      public class GhostDoor extends BlockDoor
      {
      
      public GhostDoor(Material material)
      {
      super(material);
      this.setHardness(3.0F);
         this.setResistance(5.0F);
         this.disableStats();
      
      }
      
      public IIcon getIcon(IBlockAccess world,int x, int y, int z, int side)
      {
       return world.getBlock(x, y - 1, z).getIcon(world, x, y - 1, z, side);
      }
      
      @Override
        public Item getItemDropped(int par1, Random rand, int par3)
        {
            return BlockMod.ghost_door ; //LE code est faut mais je ne comprend pas pourquoi
        }
      
        @Override
        @SideOnly(Side.CLIENT)
        public Item getItem(World world, int x, int y, int z)
        {
            return BlockMod.ghost_door; //LE code est faut mais je ne comprend pas pourquoi
        }
      
        @Override
        public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
        {
            int i1 = this.func_150012_g(world, x, y, z);
            int j1 = i1 & 7;
            j1 ^= 4;
      
            if ((i1 & 8) == 0)
            {
                world.setBlockMetadataWithNotify(x, y, z, j1, 2);
                world.markBlockRangeForRenderUpdate(x, y, z, x, y, z);
            }
            else
            {
                world.setBlockMetadataWithNotify(x, y - 1, z, j1, 2);
                world.markBlockRangeForRenderUpdate(x, y - 1, z, x, y, z);
            }
      
            world.playAuxSFXAtEntity(player, 1003, x, y, z, 0);
      
            return true;
        }
      
      }
      

      Dans ma classe BlockMod:

      ghost_door = new GhostDoor(Material.wood).setCreativeTab(tgotg.Tgotg);
      
      GameRegistry.registerBlock(ghost_door, ghost_door.getUnlocalizedName().substring(5));
      
      
      1 Reply Last reply Reply Quote 0
      • BrokenSwing
        BrokenSwing Moddeurs confirmés Rédacteurs last edited by

        La fonction getIcon n’existe plus en 1.8. Pour faire ce que tu veux il faut que tu crée un modèle custom pour le rendu de ta porte afin d’utiliser la texture du modèle du bloc du dessous. Je ne peux pas te donner plus d’indications car je n’ai jamais expérimenter ce genre de chose

        1 Reply Last reply Reply Quote 1
        • S
          Sciron last edited by

          Merçi, je vais rechercher mais, pourrais tu me dire quel est le bug de ce code pour une version 1.7.10 (je dev le mod dans deux version)

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

          MINECRAFT FORGE FRANCE © 2018

          Powered by NodeBB