package com.fredtargaryen.floocraft.item;
import com.fredtargaryen.floocraft.FloocraftBase;
import com.fredtargaryen.floocraft.block.BlockFlooSign;
import com.fredtargaryen.floocraft.client.gui.GuiFlooSign;
import com.fredtargaryen.floocraft.tileentity.TileEntityFireplace;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumHand;
import net.minecraftforge.fml.client.FMLClientHandler;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class ItemFlooSign extends Item
{
public ItemFlooSign()
{
super();
this.maxStackSize = 16;
}
@Override
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (side == EnumFacing.DOWN || side == EnumFacing.UP)
{
return EnumActionResult.FAIL;
}
else
{
ItemStack stack = player.getHeldItem(hand);
if (!player.canPlayerEdit(pos, side, stack))
{
return EnumActionResult.FAIL;
}
else
{
BlockPos newpos = pos.offset(side);
world.setBlockState(newpos, FloocraftBase.blockFlooSign.getDefaultState().withProperty(BlockFlooSign.FACING, side), 3);
stack.grow(-1);
TileEntityFireplace fireplaceTE = (TileEntityFireplace)world.getTileEntity(newpos);
if (fireplaceTE != null)
{
fireplaceTE.setPlayer(player);
if(world.isRemote)
{
this.dothesigneditguiscreen(player, fireplaceTE);
}
}
return EnumActionResult.SUCCESS;
}
}
}
@SideOnly(Side.CLIENT)
private void dothesigneditguiscreen(EntityPlayer e, TileEntityFireplace t)
{
FMLClientHandler.instance().displayGuiScreen(e, new GuiFlooSign(t));
}
}