package minefantasy.mf2.item.gadget;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import minefantasy.mf2.MineFantasyII;
import minefantasy.mf2.item.list.CreativeTabMF;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
public class ItemSpyglass extends Item implements IScope
{
public ItemSpyglass()
{
this.setCreativeTab(CreativeTabMF.tabGadget);
setTextureName("minefantasy2:Other/spyglass_small");
GameRegistry.registerItem(this, "spyglass", MineFantasyII.MODID);
this.setUnlocalizedName("spyglass");
this.setHasSubtypes(true);
this.setMaxDamage(0);
this.setMaxStackSize(1);
}
@Override
public EnumAction getItemUseAction(ItemStack item)
{
return EnumAction.bow;
}
@Override
public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer user)
{
if(user.isSneaking())
{
world.playSoundEffect(user.posX, user.posY + 1.5D, user.posZ, "random.click", 1.0F, 1.5F);
toggleMode(item);
user.swingItem();
}
else
{
user.setItemInUse(item, getMaxItemUseDuration(item));
}
return item;
}
private void toggleMode(ItemStack item)
{
int dam = item.getItemDamage();
item.setItemDamage(dam == 2 ? 0 : dam+1);
}
@Override
public int getMaxItemUseDuration(ItemStack item)
{
return Integer.MAX_VALUE;
}
public IIcon[] icons = new IIcon[3];
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister reg)
{
icons[0] = reg.registerIcon("minefantasy2:Other/spyglass_small");
icons[1] = reg.registerIcon("minefantasy2:Other/spyglass_medium");
icons[2] = reg.registerIcon("minefantasy2:Other/spyglass_long");
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamage(int id)
{
if(id > 2)
{
id = 2;
}
return icons[id];
}
@Override
public float getZoom(ItemStack item)
{
int id = item.getItemDamage();
return 0.5F + (0.25F* id);
}
}