TileEntity te = world.getTileEntity( x, y, z );
IInventory upgrades = null;
if ( te instanceof IPartHost )
{
SelectedPart sp = ((IPartHost) te).selectPart( Vec3.createVectorHelper( hitX, hitY, hitZ ) );
if ( sp.part instanceof IUpgradeableHost )
upgrades = ((IUpgradeableHost) sp.part).getInventoryByName( "upgrades" );
}
else if ( te instanceof IUpgradeableHost )
upgrades = ((IUpgradeableHost) te).getInventoryByName( "upgrades" );