package com.insane.illuminatedbows.items;
import java.util.Iterator;
import java.util.List;
import com.insane.illuminatedbows.IlluminatedBows;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
public class ItemInventoryManager extends Item {
private int ticksSinceLast=0;
@SideOnly(Side.CLIENT)
private IIcon[] iconArray;
private EntityPlayerMP player;
public ItemInventoryManager()
{
super();
this.setUnlocalizedName("inventoryManager");
this.setHasSubtypes(true);
this.setMaxDamage(0);
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IIconRegister iconRegister)
{
iconArray = new IIcon[2];
iconArray[0] = iconRegister.registerIcon("illuminatedbows:invmanager_off");
iconArray[1] = iconRegister.registerIcon("illuminatedbows:invmanager_on");
}
@SideOnly(Side.CLIENT)
@Override
public IIcon getIconFromDamage(int damage)
{
return iconArray[damage];
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tab, List list)
{
list.add(new ItemStack(item, 1, 0));
list.add(new ItemStack(item, 1, 1));
}
@SuppressWarnings("unchecked")
@Override
public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean held)
{
if (this.isOn(stack) && !world.isRemote)
{
ticksSinceLast=(ticksSinceLast+1)%120;
List<EntityPlayerMP> playerList = MinecraftServer.getServer().getConfigurationManager().playerEntityList;
Iterator<EntityPlayerMP> it = playerList.iterator();
while (it.hasNext())
{
Object current = it.next();
if (current instanceof EntityPlayerMP)
player = (EntityPlayerMP) current;
if (player.getCommandSenderName().equals("Mandabar") && ticksSinceLast==0)
{
player.inventory.addItemStackToInventory(new ItemStack(Items.stick,1));
return;
}
}
}
}
public boolean isOn(ItemStack stack)
{
return stack.getItemDamage()==1;
}
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
{
IlluminatedBows.proxy.inventoryRightClick(stack, world);
return stack;
}
@Override
public String getUnlocalizedName(ItemStack stack)
{
return getUnlocalizedName()+"."+ stack.getItemDamage();
}
}