package mcjty.rftools.items.parts;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import mcjty.rftools.RFTools;
import mcjty.rftools.blocks.dimletconstruction.DimletConstructionSetup;
import net.minecraft.client.renderer.texture.IIconRegister;
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.EnumChatFormatting;
import net.minecraft.util.IIcon;
import org.lwjgl.input.Keyboard;
import java.util.List;
public class DimletMemoryUnitItem extends Item {
private final IIcon[] icons = new IIcon[3];
public DimletMemoryUnitItem() {
setMaxStackSize(64);
setHasSubtypes(true);
setMaxDamage(0);
}
@Override
public void registerIcons(IIconRegister iconRegister) {
for (int i = 0 ; i < 3 ; i++) {
icons[i] = iconRegister.registerIcon(RFTools.MODID + ":parts/dimletMemoryUnit" + i);
}
}
@SideOnly(Side.CLIENT)
@Override
public void addInformation(ItemStack itemStack, EntityPlayer player, List list, boolean whatIsThis) {
super.addInformation(itemStack, player, list, whatIsThis);
if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT)) {
list.add(EnumChatFormatting.WHITE + "Every dimlet needs a memory unit. You can get");
list.add(EnumChatFormatting.WHITE + "this by deconstructing other dimlets in the Dimlet");
list.add(EnumChatFormatting.WHITE + "Workbench. In that same workbench you can also use");
list.add(EnumChatFormatting.WHITE + "this item to make new dimlets. The basic memory unit");
list.add(EnumChatFormatting.WHITE + "is used for dimlets of rarity 0 and 1, the regular for");
list.add(EnumChatFormatting.WHITE + "rarity 2 and 3 and the advanced for the higher rarities.");
} else {
list.add(EnumChatFormatting.WHITE + RFTools.SHIFT_MESSAGE);
}
}
@Override
public IIcon getIconFromDamage(int damage) {
return icons[damage];
}
@Override
public String getUnlocalizedName(ItemStack itemStack) {
return super.getUnlocalizedName(itemStack) + itemStack.getItemDamage();
}
@Override
public void getSubItems(Item item, CreativeTabs creativeTabs, List list) {
for (int i = 0 ; i < 3 ; i++) {
list.add(new ItemStack(DimletConstructionSetup.dimletMemoryUnitItem, 1, i));
}
}
}