package mekanism.common.item;
import java.util.List;
import mekanism.api.EnumColor;
import mekanism.common.Mekanism;
import mekanism.common.util.LangUtils;
import mekanism.common.util.MekanismUtils;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.world.World;
public class ItemDictionary extends ItemMekanism
{
public ItemDictionary()
{
super();
setMaxStackSize(1);
}
@Override
public EnumActionResult onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, EnumHand hand)
{
if(!player.isSneaking())
{
IBlockState state = world.getBlockState(pos);
Block block = state.getBlock();
if(block != null)
{
if(world.isRemote)
{
ItemStack testStack = new ItemStack(block, 1, block.getMetaFromState(state));
List<String> names = MekanismUtils.getOreDictName(testStack);
if(!names.isEmpty())
{
player.addChatMessage(new TextComponentString(EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " " + LangUtils.localize("tooltip.keysFound") + ":"));
for(String name : names)
{
player.addChatMessage(new TextComponentString(EnumColor.DARK_GREEN + " - " + name));
}
}
else {
player.addChatMessage(new TextComponentString(EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " " + LangUtils.localize("tooltip.noKey") + "."));
}
}
return EnumActionResult.SUCCESS;
}
}
return EnumActionResult.PASS;
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer, EnumHand hand)
{
if(entityplayer.isSneaking())
{
entityplayer.openGui(Mekanism.instance, 0, world, 0, 0, 0);
}
return new ActionResult(EnumActionResult.SUCCESS, itemstack);
}
}