package mekanism.common.multipart;
import java.util.List;
import mcmultipart.item.ItemMultiPart;
import mcmultipart.multipart.IMultipart;
import mekanism.api.EnumColor;
import mekanism.common.Mekanism;
import mekanism.common.base.IMetaItem;
import mekanism.common.util.LangUtils;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
import net.minecraft.util.text.translation.I18n;
import net.minecraft.world.World;
public class ItemGlowPanel extends ItemMultiPart implements IMetaItem
{
public ItemGlowPanel()
{
super();
setHasSubtypes(true);
setCreativeTab(Mekanism.tabMekanism);
}
@Override
public IMultipart createPart(World world, BlockPos pos, EnumFacing orientation, Vec3d vHit, ItemStack item, EntityPlayer player)
{
EnumColor col = EnumColor.DYES[item.getItemDamage()];
if(pos != null && orientation != null)
{
BlockPos pos1 = pos.offset(orientation);
if(world.isSideSolid(pos1, orientation.getOpposite()))
{
return new PartGlowPanel(col, orientation);
}
}
return null;
}
@Override
public void getSubItems(Item item, CreativeTabs tab, List listToAddTo)
{
for(EnumColor color : EnumColor.DYES)
{
listToAddTo.add(new ItemStack(item, 1, color.getMetaValue()));
}
}
@Override
public String getItemStackDisplayName(ItemStack stack)
{
EnumColor colour = EnumColor.DYES[stack.getItemDamage()];
String colourName;
if(I18n.canTranslate(getUnlocalizedName(stack) + "." + colour.dyeName))
{
return LangUtils.localize(getUnlocalizedName(stack) + "." + colour.dyeName);
}
if(colour == EnumColor.BLACK)
{
colourName = EnumColor.DARK_GREY + colour.getDyeName();
}
else {
colourName = colour.getDyedName();
}
return colourName + " " + super.getItemStackDisplayName(stack);
}
@Override
public boolean shouldRotateAroundWhenRendering()
{
return true;
}
@Override
public String getTexture(int meta)
{
return "glow_panel";
}
@Override
public int getVariants()
{
return EnumColor.DYES.length;
}
}