package com.jaquadro.minecraft.gardentrees.item;
import com.jaquadro.minecraft.gardentrees.block.BlockThinLogFence;
import com.jaquadro.minecraft.gardentrees.block.tile.TileEntityWoodProxy;
import com.jaquadro.minecraft.gardentrees.core.ModBlocks;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
public class ItemThinLogFence extends ItemBlock
{
public ItemThinLogFence (Block block) {
super(block);
setMaxDamage(0);
setHasSubtypes(true);
}
@Override
public int getMetadata (int meta) {
return meta;
}
@Override
public String getUnlocalizedName (ItemStack itemStack) {
int meta = itemStack.getItemDamage();
if (meta < 0 || meta >= BlockThinLogFence.subNames.length)
return super.getUnlocalizedName();
return super.getUnlocalizedName() + "." + BlockThinLogFence.subNames[meta];
}
@Override
public String getItemStackDisplayName (ItemStack itemStack) {
int meta = itemStack.getItemDamage();
if (meta < 16)
return super.getItemStackDisplayName(itemStack);
Block block = TileEntityWoodProxy.getBlockFromComposedMetadata(meta);
Item item = Item.getItemFromBlock(block);
if (item == null)
return super.getItemStackDisplayName(itemStack);
String unlocName = item.getUnlocalizedName(new ItemStack(item, 1, TileEntityWoodProxy.getMetaFromComposedMetadata(meta)));
return ("" + StatCollector.translateToLocal(unlocName + ".name") + " " + StatCollector.translateToLocal(getUnlocalizedName() + ".name")).trim();
}
@Override
public IIcon getIconFromDamage (int meta) {
return ModBlocks.thinLogFence.getIcon(0, meta);
}
@Override
public int getColorFromItemStack (ItemStack itemStack, int meta) {
return ModBlocks.thinLogFence.getRenderColor(itemStack.getItemDamage());
}
@Override
public boolean placeBlockAt (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metadata)
{
int blockMeta = (metadata < 16) ? metadata : 0;
if (!super.placeBlockAt(stack, player, world, x, y, z, side, hitX, hitY, hitZ, blockMeta))
return false;
TileEntityWoodProxy.syncTileEntityWithData(world, x, y, z, metadata);
return true;
}
@Override
public void registerIcons (IIconRegister register) { }
}