package gtclassic.common.item; import java.awt.Color; import java.util.Arrays; import java.util.List; import gtclassic.GTMod; import ic2.api.classic.item.IEUReader; import ic2.api.item.ElectricItem; import ic2.core.item.base.BasicElectricItem; import ic2.core.platform.textures.Ic2Icons; import ic2.core.platform.textures.obj.IStaticTexturedItem; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class GTItemSurvivalScanner extends BasicElectricItem implements IStaticTexturedItem, IEUReader { double energyCost = 100; public GTItemSurvivalScanner() { this.maxStackSize = 1; this.setHasSubtypes(false); this.setMaxDamage(0); this.maxStackSize = 1; setRegistryName("portable_scanner"); setUnlocalizedName(GTMod.MODID + ".portable_scanner"); setCreativeTab(GTMod.creativeTabGT); this.maxCharge = 100000; this.transferLimit = 128; this.tier = 1; } @Override public int getRGBDurabilityForDisplay(ItemStack stack) { return Color.CYAN.hashCode(); } @Override @SideOnly(Side.CLIENT) public TextureAtlasSprite getTexture(int meta) { return Ic2Icons.getTextures(GTMod.MODID + "_items")[29]; } @Override public EnumActionResult onItemUseFirst(EntityPlayer player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, EnumHand hand) { if (!canScan(player.getHeldItemMainhand())) { return EnumActionResult.PASS; } else { ElectricItem.manager.use(player.getHeldItemMainhand(), energyCost, (EntityLivingBase) null); return GTItemCreativeScanner.scanBlock(player, world, pos, side, hand); } } public boolean canScan(ItemStack stack) { return ElectricItem.manager.canUse(stack, energyCost); } @Override public List<Integer> getValidVariants() { return Arrays.asList(0); } @Override public boolean isEUReader(ItemStack var1) { return true; } @Override public int getTextureEntry(int var1) { return 0; } }