package net.minecraft.item;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityHanging;
import net.minecraft.entity.item.EntityItemFrame;
import net.minecraft.entity.item.EntityPainting;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;
public class ItemHangingEntity extends Item
{
private final Class hangingEntityClass;
private static final String __OBFID = "CL_00000038";
public ItemHangingEntity(Class p_i45342_1_)
{
this.hangingEntityClass = p_i45342_1_;
this.setCreativeTab(CreativeTabs.tabDecorations);
}
/**
* Called when a Block is right-clicked with this Item
*
* @param pos The block being right-clicked
* @param side The side being right-clicked
*/
public boolean onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (side == EnumFacing.DOWN)
{
return false;
}
else if (side == EnumFacing.UP)
{
return false;
}
else
{
BlockPos var9 = pos.offset(side);
if (!playerIn.func_175151_a(var9, side, stack))
{
return false;
}
else
{
EntityHanging var10 = this.func_179233_a(worldIn, var9, side);
if (var10 != null && var10.onValidSurface())
{
if (!worldIn.isRemote)
{
worldIn.spawnEntityInWorld(var10);
}
--stack.stackSize;
}
return true;
}
}
}
private EntityHanging func_179233_a(World worldIn, BlockPos p_179233_2_, EnumFacing p_179233_3_)
{
return (EntityHanging)(this.hangingEntityClass == EntityPainting.class ? new EntityPainting(worldIn, p_179233_2_, p_179233_3_) : (this.hangingEntityClass == EntityItemFrame.class ? new EntityItemFrame(worldIn, p_179233_2_, p_179233_3_) : null));
}
}