Autant pour moi, j’ai cru que je devais encore remplacer “textureBlock”, tout fonctionne, merci beaucoup ! 😄
Pour éviter des heures de recherches à beaucoup de gens, voici:
package com.mod.trillium.blocks;
import java.util.List;
import com.mod.trillium.init.BlockMod;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockWall;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class BlockWallMod extends BlockWall {
private final Block textureBlock; //Le block qui servira de texture au muret, j'ai mis un final car sa valeur sera toujours fixe
public BlockWallMod(Block p_i45435_1_)
{
super(p_i45435_1_);
this.textureBlock = p_i45435_1_; //On fait correspondre au textureBlock le block passé au constructeur
}
@SideOnly(Side.CLIENT)
@Override //Indique qu'on remplace la méthode de la classe parente, utile pour voir quand son nom ou ses paramètres changent (quand on met Minecraft à jour par exemple)
public IIcon getIcon(int side, int meta)
{
return textureBlock.getBlockTextureFromSide(side); //Et on retourne la bonne texture
}
@Override
public boolean canConnectWallTo(IBlockAccess par1, int par2, int par3, int par4)
{
Block block = par1.getBlock(par2, par3, par4);
int meta = par1.getBlockMetadata(par2, par3, par4);
//int meta = par1.getBlockMetadata(par2, par3, par4);
if(block==BlockMod.block_blockwall1 || block==BlockMod.block_wall2){ //Pour que vos murets murets se connectent entre eux (ne fonctionne pas avec les murets vanilla)
return true;
}
return block != this && block != Blocks.fence_gate ? (block.getMaterial().isOpaque() && block.renderAsNormalBlock() ? block.getMaterial() != Material.gourd : false) : true;
}
public void getSubBlocks(Item p_149666_1_, CreativeTabs p_149666_2_, List p_149666_3_)
{
p_149666_3_.add(new ItemStack(p_149666_1_, 1, 0)); // Evite d'avoir deux fois le bloc dans le creativeTab
}
public boolean canPlaceTorchOnTop(World world, int x, int y, int z) { //On peut placer les torches sur le muret
return true;
}
}
Voilà, merci à vous !